Как получить данные из длинного массива данных? - PullRequest
0 голосов
/ 28 июня 2018

У меня есть очень массив данных ниже под названием 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 (это будет первый индекс). Затем считается до загрузки (это будет второй индекс). Итак, код

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;
  }

1 Ответ

0 голосов
/ 29 июня 2018
console.log(Data_Array.slice(5, 7)); 

ВЫВОД:

[ '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"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...