Какой лучший способ удалить определенные символы в массиве JavaScript? - PullRequest
0 голосов
/ 03 мая 2019

В настоящее время у меня есть огромный массив JavaScript, где каждый элемент выглядит следующим образом:

[{"open":235.86,
  "high":247.13,
  "low":231.5,
  "close":244.1,
  "volume":55025735,
  "date":"2019-05-01T21:00:00.000Z"}
  ...

Мне нужно удалить все, кроме цены после максимума.Каков наиболее эффективный способ сделать это?

Я пытался совать отдельные элементы, но не могу не чувствовать, что есть более эффективный / более простой способ сделать это.

Так что, надеюсь, конечный массив будет просто [235.86].

Ответы [ 4 ]

0 голосов
/ 03 мая 2019

Одним из возможных решений было бы сопоставить массив с новым массивом, например так:

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 для метода map, 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
});
0 голосов
/ 03 мая 2019

Это должно работать:

your_array.map((item) => {
  return item.high
})
0 голосов
/ 03 мая 2019

Вы можете использовать reduce для этого сценария. Пример * +1002 *

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 .

0 голосов
/ 03 мая 2019

Код ниже должен работать. Это достаточно эффективно: 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
...