vue数组对象内包含数组如何包改为数组对象
可以使用for循环遍历原数组,然后将内部的数组转化为对象,再将其添加到新的数组中。
示例代码:
const arr = [
{name: 'John', hobbies: ['swimming', 'reading']},
{name: 'Jane', hobbies: ['running', 'painting']},
];
const newArr = [];
for (let i = 0; i < arr.length; i++) {
const obj = {};
obj.name = arr[i].name;
obj.hobbies = [];
for (let j = 0; j < arr[i].hobbies.length; j++) {
obj.hobbies.push({name: arr[i].hobbies[j]});
}
newArr.push(obj);
}
console.log(newArr); // [{name: 'John', hobbies: [{name: 'swimming'}, {name: 'reading'}]}, {name: 'Jane', hobbies: [{name: 'running'}, {name: 'painting'}]}]
在上面的代码中,我们首先定义了原数组arr,其中每个对象都包含一个name属性和一个hobbies属性,hobbies属性是一个数组。我们需要将其转化为新的数组newArr,其中每个对象都包含一个name属性和一个hobbies属性,hobbies属性是一个包含对象的数组。
我们使用for循环遍历原数组arr,对于每个对象,我们先创建一个空对象obj,并将其name属性设置为原对象的name属性。然后,我们再创建一个空数组obj.hobbies,并使用for循环遍历原对象的hobbies数组,在循环中,我们创建一个包含name属性的对象,并将其添加到obj.hobbies数组中。
最后,我们将新的对象obj添加到新的数组newArr中。最终,newArr将包含与原数组arr相同的对象,但是每个对象的hobbies属性将被转化为一个包含对象的数组
原文地址: https://www.cveoy.top/t/topic/hrbh 著作权归作者所有。请勿转载和采集!