领域react-native:如何正确查询字符串数组

时间:2018-10-15 17:44:07

标签: react-native realm

有人可以告诉我如何在react-native中使用realm查询字符串数组吗?

假设我有一个如下数组:

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

我想要获得领域结果,其中Cars属性“ specifications”中的所有字符串都位于“ preferences”中。

例如:如果Cars.specification实例包含[“ automatic”,“ suv”] 结果应该返回。

但是,如果Cars.specification实例包含[“ automatic,” suv“,” green“],则不应返回该实例。

首选项的长度可以变化。

非常感谢您。

更新:

我尝试的是以下内容:

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

如您所见,它是一个OR运算符,肯定是错误的,并且已硬编码。进入领域真的使我感到困惑。

1 个答案:

答案 0 :(得分:-1)

测试一个单词是否在单词数组内的函数示例

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/