[英]What's the best way to delete specific characters in a JavaScript array?
目前,我有一個巨大的 JavaScript 數組,其中每個元素都是這樣的:
[{"open":235.86,
"high":247.13,
"low":231.5,
"close":244.1,
"volume":55025735,
"date":"2019-05-01T21:00:00.000Z"}
...
我需要在高價之后刪除除價格之外的所有內容。 我能做到這一點的最有效方法是什么?
我試過彈出單個元素,但我不禁覺得好像有一種更有效/更簡單的方法來做到這一點。
所以希望結束數組只是[235.86]
。
下面的代碼應該可以工作。 它足夠有效: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
您可以在這種情況下使用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 網站上了解有關 reduce 函數的更多信息。
一種可能的解決方案是將數組映射到一個新數組,如下所示:
const yourArray = [
{"open":235.86, "high":247.13, "low":231.5, "close":244.1, "volume":55025735},
{"open":257.52, "high":234.53, "low":220.2, "close":274.1, "volume":23534060},
]
const mappedArray = yourArray.map(el => el.open);
// mappedArray = [235.86, 257.52]
查看地圖方法的 MDN 文檔, Array.prototype.map()
注意:上面的示例使用 ECMAScript 6 箭頭函數和隱式返回。 它在功能上等同於:
const yourArray = [
{"open":235.86, "high":247.13, "low":231.5, "close":244.1, "volume":55025735},
{"open":257.52, "high":234.53, "low":220.2, "close":274.1, "volume":23534060},
]
const mappedArray = yourArray.map(function(el){
return el.open
});
這應該有效:
your_array.map((item) => {
return item.high
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.