nsh*_*oes 5 javascript arrays object ecmascript-6
我有一个对象数组,需要查看其中任何一个中是否存在键。这是我现在正在做的事情:
const arr = [{ id: 1, foo: 'bar' }, { id: 2 }]
arr.map(o => o.foo && true).includes(true)
// true
Run Code Online (Sandbox Code Playgroud)
有没有更好/更被接受的方法来做到这一点?
您可以使用数组#some
var arr = [{ id: 1, foo: 'bar' }, { id: 2 }]
result = arr.some(o => 'foo' in o)
console.log(result)Run Code Online (Sandbox Code Playgroud)
every()和之间的区别some()它将检查所有对象上是否存在给定的键,如果不是所有对象都具有该键,则返回 false。
它将检查是否至少有一个对象具有该键,如果存在则已返回 true。
我会使用该Array.prototype.some()功能:
const arr = [
{ id: 1, foo: 'bar' },
{ id: 2 }
];
var result = arr.some(e => e.hasOwnProperty('foo'));
console.log("The array contains an object with a 'foo' property: " + result);
var result = arr.some(e => e.hasOwnProperty('baz'));
console.log("The array contains an object with a 'baz' property: " + result);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4325 次 |
| 最近记录: |