查找数组中是否有任何项目符合条件

gan*_*ate 5 javascript arrays reactjs map-function

我是 JavaScript 新手。现在,我有一个包含多个对象的数组。因此,我想迭代它,如果任何对象与条件匹配,那么我想返回一个值并停止该循环。

我的 obj 数组就像,

var obj =  [ { type: "", numberOfQuestions:"",  technology:"" }, { type: "1", numberOfQuestions:"4",  technology:"abcd" }, { type: "", numberOfQuestions:"6",  technology:"ass" } ]
Run Code Online (Sandbox Code Playgroud)

而我的条件是,

     validateData(data) {
            data.High.map((object) => {
              if((object.type === "") || (object.numberOfQuestions === "") || (object.technology === "")) {
                    return true;
              } else {
                  return false;
              } 
            });
        } 
Run Code Online (Sandbox Code Playgroud)

所以,我想要的是任何有一些键的对象,任何键都有空值,即""然后我想返回一个真值,以便我可以做一些其他的事情。我怎样才能做到这一点 ?

谁能帮帮我吗。

Sha*_*lav 6

您可以使用Array.prototype.some

var array = [...];

function validateData (array) {
  return array.some(item => item.type === '' || item.numberOfQuestions === '' || item.technology === '');
}

validateData(array);
Run Code Online (Sandbox Code Playgroud)

这是ES6解决方案(带有箭头功能)。

ES5解决方案:

function validateData (array) {
  return array.some(function(item) { 
    return item.type === '' || item.numberOfQuestions === '' || item.technology === '';
  });
}
Run Code Online (Sandbox Code Playgroud)