[ {name:'hi',data:'1,2,3,4,5'} , {name:'hello',data:'5,4,3,2,1'} ]
我需要对数组中每个对象的 data
属性应用分割,以便结果为:
[ {name:'hi',data:[1,2,3,4,5]} , {name:'hello',data:[5,4,3,2,1]} ]
我知道我可以使用for each
循环遍历数组并生成一个新的数组,但是否有更好、更快的方法?
var arr = [{
name: 'hi',
data: '1,2,3,4,5'
}, {
name: 'hello',
data: '5,4,3,2,1'
}];
var new_arr = [];
for (i in arr) {
var temp = {};
temp.name = arr[i].name;
temp.data = arr[i].data.split(',');
new_arr.push(temp);
}
const array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32]
map()
方法会给原数组中的每个元素都按顺序应用一次提供的函数,并返回一个新数组。提供的函数被传入三个参数:当前元素的值、当前元素的索引和数组本身。函数返回的值会插入到新数组中。注意:map()
不会修改调用它的原数组,而是返回一个新数组。 - Barmarfor...in
循环来迭代数组! - Oriol