簡體   English   中英

刪除 JavaScript 數組中特定字符的最佳方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM