Zal*_*oza 31 javascript arrays
[ {name:'hi',data:'1,2,3,4,5'} , {name:'hello',data:'5,4,3,2,1'} ]
Run Code Online (Sandbox Code Playgroud)
我需要的是对data
数组中的每个对象应用拆分,以便得到结果
[ {name:'hi',data:[1,2,3,4,5]} , {name:'hello',data:[5,4,3,2,1]} ]
Run Code Online (Sandbox Code Playgroud)
我知道我可以为每个循环使用数组并生成一个新数组,但是有更好,更快的方法吗?
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);
}
Run Code Online (Sandbox Code Playgroud)
xda*_*azz 56
你可以使用Array.prototype.map:
var new_array = old_array.map(function(e) {
e.data = e.data.split(',');
return e;
});
Run Code Online (Sandbox Code Playgroud)
正如评论所说,这样改变了old_array
,你可以在回调函数中返回一个新对象而不改变原始数组.
the*_*eye 18
var data = [{
name: 'hi',
data: '1,2,3,4,5'
}, {
name: 'hello',
data: '5,4,3,2,1'
}];
Run Code Online (Sandbox Code Playgroud)
您可以使用Array.prototype.map
on data
来构造一个新的Array,就像这样
var result = data.map(function (currentObject) {
return {
name: currentObject.name,
data: currentObject.data.split(",").map(Number)
};
});
Run Code Online (Sandbox Code Playgroud)
在这里,我们split
的currentObject.data
基础上,
,然后我们呼吁Number
所有分割字符串的函数,这样你会得到结果对象的data
数字,因为你在这个问题想.
产量
[{
name: 'hi',
data: [1, 2, 3, 4, 5]
}, {
name: 'hello',
data: [5, 4, 3, 2, 1]
}]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
47218 次 |
最近记录: |