如何从大量数据中获取数据?

问题描述 投票:0回答:1

我有一个名为Data_Array的非常数组的数据。如何仅获取数据的第5和第6个索引?以自动方式。

var Data_Array = ["BETA 135 MEMB 3 6",
              "MATERIAL STEELAPPROX ALL",
              "SUPPORTS",
              "5 13 16 22 24 PINNED",
              "20 FIXED",
              "7 FIXED BUT FX KFY 200",
              "9 FIXED BUT FZ MX KFY 150 KMZ 200",
              "LOAD 1 LOADTYPE Dead  TITLE DEAD",
              "SELFWEIGHT Y -1",
              "LOAD 2 LOADTYPE Live  TITLE LIVE"]

我试图达到以下价值:

["7 FIXED BUT FX KFY 200",
 "9 FIXED BUT FZ MX KFY 150 KMZ 200"]

我正在尝试创建一个代码,在该代码中,它会计算所有数组,然后在检测到单词FIXED时停止。然后从那里返回它的array.length然后(那将是第一个索引)。然后计数直到Load(这将是第二个索引)。所以代码

function countIndex(array, str1, str2){

  count until Fixed then = gives 5
  count until Load then = give 7

}

Array.splice(1st_index,2nd_index);

我实际上有代码执行此操作,但它无法检测不在元素的第一个索引中的字符串。现在字符串“FIXED”不在第一个索引中,它将无法工作。仅当str1和str2值是数组中元素的第一个索引时,它才有效。

function pullAllDataBetween(data, str1, str2) {

  var string_nodes = [];
  var append = false;

  for (var i = 0; i < data.length; i++) {
   if (data[i] === str1) {
      append = true;
      continue;
   } else if (data[i] === str2) {
      append = false;
      break;
   }

      if (append) {
     string_nodes.push(data[i]);
   }
  }

    return string_nodes;
  }
javascript arrays string
1个回答
0
投票
console.log(Data_Array.slice(5, 7)); 

OUTPUT:

[ '7 FIXED BUT FX KFY 200',
  '9 FIXED BUT FZ MX KFY 150 KMZ 200' ]

var Data_Array = ["BETA 135 MEMB 3 6",
          "MATERIAL STEELAPPROX ALL",
          "SUPPORTS",
          "5 13 16 22 24 PINNED",
          "20 FIXED",
          "7 FIXED BUT FX KFY 200",
          "9 FIXED BUT FZ MX KFY 150 KMZ 200",
          "LOAD 1 LOADTYPE Dead  TITLE DEAD",
          "SELFWEIGHT Y -1",
          "LOAD 2 LOADTYPE Live  TITLE LIVE"];

console.log(Data_Array.slice(5, 7)); 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

要获取仅包含the word FIXED的字符串的数组并获得它的长度:

var Data_Array = ["BETA 135 MEMB 3 6",
          "MATERIAL STEELAPPROX ALL",
          "SUPPORTS",
          "5 13 16 22 24 PINNED",
          "20 FIXED",
          "7 FIXED BUT FX KFY 200",
          "9 FIXED BUT FZ MX KFY 150 KMZ 200",
          "LOAD 1 LOADTYPE Dead  TITLE DEAD",
          "SELFWEIGHT Y -1",
          "LOAD 2 LOADTYPE Live  TITLE LIVE"];


var arr = Data_Array.filter(line => /FIXED/.test(line));

console.log(arr);

console.log(arr.length);

function count(arr, str){
  for(var i = 0; i<arr.length;i++){
    if(arr[i].indexOf(str)!==-1)
      return i;
  }
}

console.log(count(Data_Array, "FIXED"));

console.log(count(Data_Array, "LOAD"));
© www.soinside.com 2019 - 2024. All rights reserved.