проверка всех значений в массиве со значениями другого массива и получение результатов в другом массиве - PullRequest
0 голосов
/ 10 сентября 2018

Моя цель - получить доступ к массиву (correctSizedMaterialsData), который содержит другие массивы, и проверить, равно ли 2-е значение его массивов каждому значению массива (correctSizedTypesDetected), и я хочу, чтобы результаты, удовлетворяющие условию, входили в массив (sharpSizedItems) , Вот как я это сделал, пожалуйста, найдите ошибку и простите меня за то, что я новичок.

exactSizedMaterialsData.every(function(array){
 for (var i = 0; i < exactSizedTypesDetected.length; i++) {
   if(array[1]==exactSizedTypesDetected[i]){
     eval("exactSizedItems"+(i+1) + ".push(array) ");
     return true;
   }
  }
})  

1 Ответ

0 голосов
/ 11 сентября 2018
  • exactSizedTypesDetected - это одномерный массив.
  • exactSizedMaterialsData - это двумерный массив.
  • Когда 2-й элемент каждого элемента в exactSizedMaterialsData включен в exactSizedTypesDetected, вы хотите получить элемент exactSizedMaterialsData.
  • Вы хотите достичь того, чего хотите, с помощью Google Apps Script.

Если мое понимание вашего вопроса верное, как насчет этой модификации? Я думаю, что есть несколько ответов для вашей ситуации. Поэтому, пожалуйста, подумайте об этом как об одном из них.

От:

exactSizedMaterialsData.every(function(array){

Кому:

exactSizedMaterialsData.some(function(array){

Примечание:

Из вашего скрипта кажется, что вы хотите получить только 1-е значение, которое соответствует exactSizedTypesDetected[i]. Если вы хотите получить все значения, как насчет следующего сценария.

exactSizedMaterialsData.forEach(function(array) {
  var idx = exactSizedTypesDetected.indexOf(array[1]);
  if (~idx) eval("exactSizedItems"+ (idx + 1)).push(array);
});
  • includes() был добавлен в ECMAScript 2015. К сожалению, пока это нельзя использовать в GAS. Это также упоминается @ I '-' I .
    • Поэтому я использовал indexOf() вместо него.

Ссылки:

Если я неправильно понял ваш вопрос, пожалуйста, скажите мне. Я хотел бы изменить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...