javascript - 如何从对象数组中获取属性值数组

标签 javascript arrays javascript-objects

我对以下情况有疑问:

我有一个对象数组,它们都包含相同的属性,称为 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/

相关文章:

javascript - 将数组中的值彼此相乘并根据数字检查结果

java - 将罗马数字转换为整数值?

javascript - 如何在 JavaScript 中编写一个表达式来调用数组中的函数?

javascript - 对 javascript 对象键感到困惑

javascript - Javascript 电子邮件中的正则表达式验证

javascript - 在 Angular2 上使用正则表达式制作管道

需要简化的 Javascript - 可折叠的选项卡

javascript - 在dimplejs 中显示之前操作数据

javascript - 在 jquery 中向未知元素 id 添加值

arrays - AWK 输出到 bash 数组