我有一个对象数组,这些对象中有一个 name
属性。
const objArr = [ { name: "Avram"}, { name: "Andy"} ];
我正在从包含名称的外部源收集字符串数组。
const strArr = [ "Avram", "Andy", "Brandon"];
如果 strArr
包含的字符串不作为 objArr
中对象的属性 name
存在,我需要创建一个新对象并将其推送到 objArr
。
例如:objArr.push( { name: "Brandon"} );
显然,我可以使用嵌套循环,但如果可能的话我想避免这种情况。以编程方式执行此操作的最佳方法是什么?
最佳答案
像这样
const objArr = [ { name: "Avram" }, { name: "Andy" } ];
const strArr = [ "Avram", "Andy", "Brandon" ];
const names= objArr.map(x => x.name);
strArr.forEach(str => {
if (! names.includes(str) ) {
objArr.push({name: str});
}
});
console.log(objArr);
关于javascript - 将字符串数组与具有字符串属性的数组对象进行比较的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47465037/