我对以下情况有疑问:
我有一个对象数组,它们都包含相同的属性,称为 src
在添加一个新对象(也有一个 src
属性)之前,我想检查该值是否已经存在于对象数组的一个 src
属性中。
因此我想使用 $.inArray()
和新的 src
作为第一个参数和数组而不是对象数组,而是值的数组对象数组中的属性。
例如:
我有
var arrayOfObjects = [{
src : "source1",
otherAttribute : "value"
}, {
src : "source2",
otherAttribute : "value"
}];
我的问题是:JavaScript/jQuery 中是否有返回的内置函数
["source1","source2"]
当使用 functionX(arrayOfObjects)
调用时?
最佳答案
嗯,你总是可以使用 Array.prototype.map() :
var sources = arrayOfObjects.map(function(obj) {
return obj.src;
});
...但是对于您的具体情况,我宁愿选择一种不同的方法 - 直接使用 Array.prototype.some() 检查数组:
function doesSourceExist(source) {
return arrayOfObjects.some(function(obj) {
return obj.src === source;
});
}
关于javascript - 如何从对象数组中获取属性值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27843286/