2017-07-12 18 views
-3

特定のキーのどれかにオブジェクトのJavaScript配列の値があるかどうかをチェックします。特定のキーにオブジェクトのJavaScript配列の値があるかどうかを確認します。

myArray = [ {file:null}, {file:hello.jpg}, {file:null}] ; 

キーfileのでtrueがそうでなければfalse返す値を持っています。 これをプログラムで確認するにはどうすればよいですか? (nullnull以来

+1

'obj.key ===「value''?また、 'for'ループです。 – zerkms

+0

forループなし。しかし、フィルターを使用している可能性があります。 – kaws

+0

私が正しく理解していれば、 'Array#some()' https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/someを使うことができます。質問はまだ少し曖昧です – charlietfl

答えて

1

はfalsy値は、あなたがそれを価値を含まれているかどうかをチェックするために二重否定を使用することができているか、それは空です。

let myArray = [ {file:null}, {file:'hello.jpg'}, {file:null}]; 
 

 
const check = arr => arr.map(v => !!v.file); 
 

 
console.log(check(myArray));

+0

この行を説明できますか? const check = arr => arr.map(v => !! v.file); – kaws

+0

@kaws二重否定。すべての値はブール値に変更されます。値があれば、 'true'を返します。 'null'、空文字列、または' undefined'があれば 'false'を返します。 –

+1

@thanks kinder。 – kaws

0

これを試してみてください:

var myArray = [ {file: null}, {file: 'hello.jpg'}, {file: null}]; 
for(var i = 0; i < myArray.length; i++) { 
    if(myArray[i].file != null) { 
     console.log(myArray[i]); 
    } 
} 
0

​​を使用して、配列の要素が条件と一致するかどうかをテストします。

myArray = [{ 
 
    file: null 
 
}, { 
 
    file: "hello.jpg" 
 
}, { 
 
    file: null 
 
}]; 
 
var result = myArray.some(e => e.file); 
 
console.log(result);

関連する問題