当前,我有一个巨大的JavaScript数组,其中每个元素都像这样:
[{"open":235.86,
"high":247.13,
"low":231.5,
"close":244.1,
"volume":55025735,
"date":"2019-05-01T21:00:00.000Z"}
...
除了高价之后,我需要删除所有内容。我最有效的方法是什么?
我尝试弹出单个元素,但我不禁觉得好像有一种更有效/更简便的方法可以实现这一点。
所以希望结尾数组只是[235.86]
。
答案 0 :(得分:0)
下面的代码应该可以工作。 :D
for (i in arrayName){
// Loops through array
delete arrayName[i].high
delete arrayName[i].low
delete arrayName[i].close
delete arrayName[i].volume
delete arrayName[i].date
// Deletes unwanted properties
}
console.log(arrayName)
// Print output
答案 1 :(得分:0)
在这种情况下,您可以使用reduce
。例子
var temp = [{"open":235.86, "high":247.13, "low":231.5, "close":244.1, "volume":55025735, "date":"2019-05-01T21:00:00.000Z"}];
var highValArray = temp.reduce((arr, t) => {
return arr.concat(t['high']);
}, []);
您可以在MDN website上了解有关reduce函数的更多信息。
答案 2 :(得分:0)
一种可能的解决方案是将数组映射到新数组,如下所示:
{val1: T2, val2: T1}
查看MDN文档中的地图方法Array.prototype.map()
注意:上面的示例使用ECMAScript 6箭头函数和隐式返回。它在功能上等同于:
A
答案 3 :(得分:-1)
这应该有效:
your_array.map((item) => {
return item.high
})