通过数组有效地检索元素

时间:2016-11-02 08:59:28

标签: javascript

这是一个数组中的一个元素,包含大约50个其他元素。

var fiftyplanets = [{
   "rowid": 1,
   "Host name": "HD 224693",
   "Planet Mass or M*sin(i)[Jupiter mass]": 0.71,
   "Planet Radius [Jupiter radii]": 12.1,
   "Distance [pc]": 94.07
}, ...]

我有5个变量range1到range5,它将数组过滤成五个部分,每个10个元素如下:

var range = (array, start, end) =>
      fiftyplanets.filter((element, index)=>index>=start && index <= end);

var range1 = range([fiftyplanets],0,9);

最后,在用户输入时,此应该在用户看到的并且单击“主机名”的元素之间切换应该是要检索的元素。

  if (value == range1[4]["Host name"]) {
        var name = range1[4]["Host name"];
        var dist = range1[4]["Distance [pc]"];
        var mass = range1[4]["Planet Mass or M*sin(i)[Jupiter mass]"];
        var radi = range1[4]["Planet Radius [Jupiter radii]"];
  }

我可以制作49个其他if语句但是如何修改代码,以便value检查范围内所有具有相同“”主机名“的元素,然后检索其他信息,如dist和群众有关吗?

1 个答案:

答案 0 :(得分:0)

只是获得数组的一部分的答案

而不是这个函数表达式

var range = (array, start, end) => fiftyplanets.filter((element, index) => index >= start && index <= end);

您可以使用Array#slice获取数组部分的副本

var range = (array, start, end) => array.slice(start, end + 1);