Real-React-native: как правильно запросить массив строк - PullRequest
0 голосов
/ 15 октября 2018

Может кто-нибудь показать мне, как запросить массив строк с областью в реагирующем родном?

предположить, что у меня есть массив, подобный следующему:

const preferences = ["automatic","suv","blue",eco]

То, что я хочу, это чтобыполучить результаты области, где ВСЕ строки в атрибуте «спецификации» автомобилей находятся в «настройках».

Например: если экземпляр Cars.specifications содержит ["automatic", "suv"], результат должен быть возвращен.

Но если экземпляр Cars.specifications содержал ["automatic,"suv", "green"] этот экземпляр не должен быть возвращен.

Длина предпочтений может варьироваться.

Большое спасибо.

Обновление:

Я попробовал следующее:

const query = realm.objects("Cars").filtered('specifications = preferences[0] OR specifications = preferences[1]')

Как вы видите, это оператор ИЛИ, который, безусловно, ошибочен и жестко закодирован. Циклы с областью действительно меня смущают.

1 Ответ

0 голосов
/ 15 октября 2018

пример функции для проверки, находится ли слово внутри массива слов

function inArray(word, array) {
  var lgth = array.length;
  word = word.toLowerCase();
  for (var i = 0; i < lgth; i++) { 
    array[i] = (array[i]).toLowerCase();
    if (array[i] == word) return true;
  }

  return false;
}

const preferences = ["automatic","suv","blue","eco"];

const specifications = ["automatic","suv"] ;
const specifications2 = ["automatic","suv", "boat"] ;

function test(spec,pref){ 
  for (var i in spec){
    if(!inArray(spec[i],pref)){
      return false ;
    }    
  }
  return true;   
}

console.log(test(specifications,preferences));
console.log(test(specifications2,preferences));

https://jsfiddle.net/y1dz2gvu/

...