将{productName1: '', number1: '', productName2: '', number2: ''}这个对象变成[{productName1: '', number1: ''}, {productName2: '', number2: ''}]这种对象数组
时间: 2023-09-15 07:22:31 浏览: 61
好的,下面是把{productName1: '', number1: '', productName2: '', number2: ''}这个对象转换成[{productName1: '', number1: ''}, {productName2: '', number2: ''}]这种对象数组的代码:
```
const obj = {productName1: '', number1: '', productName2: '', number2: ''};
const arr = Object.entries(obj).reduce((prev, [key, value], index) => {
const newObjectIndex = Math.floor(index / 2);
const newKey = key.replace(/[0-9]/g, '');
const newObj = prev[newObjectIndex] || {};
newObj[newKey] = value;
return Object.assign([], prev, {[newObjectIndex]: newObj});
}, []);
console.log(arr);
```
这段代码使用了Object.entries()和reduce()函数,首先把对象转换成[key1, value1, key2, value2, ...]的数组格式,然后通过reduce()函数遍历数组,把相邻两个元素组成一个新的对象,并把它们推入一个新的数组中,最后得到了[{productName1: '', number1: ''}, {productName2: '', number2: ''}]这个对象数组。
阅读全文