阵列
[{
"key":"Passed",
"values":[[date1,time1],[date2,time2]]
},{
"key":"Failed",
"values":[[date3,time3],[date4,time4]]
}]
假设我想复制密钥:失败并将值[date3,time3]复制到新数组,我该怎么做?
答案 0 :(得分:0)
仅使用JavaScript
var newArray = [];
for(var i=0; i<=array.length; i++){
if (array[i]['key'] === "Failed"){
newArray.push(array[i]);
}
}
newArray
包含所有失败的项目。
答案 1 :(得分:0)
首先,您需要通过它的键来识别数组中的对象。
让我们假设您的数组存储在名为mylist
var error = mylist.find(function(item){ return item.key === 'Failed'; });
现在假设您有一个新数组:
var failed = []; // your new array
failed.push({
key: error.key,
values: error.values[0] // assuming you only want the first value
});
虽然可能有更好的应用。如果你能提供更多关于你想要达到的目标的背景信息。
修改强>:
如果您希望从阵列中获取每个失败的结果并将它们分组到一个子集中,您可能希望用户使用reduce方法执行以下操作。
var failed = mylist.reduce(function(mem, item) {
if(item.key === 'Failed'){
var transformed = {
key: error.key,
values: error.values[0]
};
mem.push(transform)
}
return mem;
}, []);