【发布时间】:2023-03-15 17:30:01
【问题描述】:
这是一个对象数组:
var array = [{ first: "Romeo", last: "Capulet" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }]
这是一个对象:
var obj = {last: "Capulet}
如果两个对象的两个键相同,则尝试通过其键查找对象!如果此对象 obj 通过其属性和值之一包含在上述对象数组中,则假设返回上述对象数组的整个对象。例如,在这种情况下,它应该返回一个包含两个对象的数组,因为两个对象包含属性“last”,其值为“Capulet”!
[{ first: "Romeo", last: "Capulet" }, { first: "Tybalt", last: "Capulet" }]
这是我的代码:
function objectFindByKey(array, obj){
var array1 = [];
for(var i = 0; i<array.length;i++){
array1.push(Object.entries(array[i]));
var a2 = JSON.stringify(array1);
var a3 = JSON.stringify(obj);
if(a2.includes(a3)){
return array1[i];
};
};
};
为了能够比较两个对象,我使用了 JSON.stringify() 方法,因为在这种情况下,如果我对对象数组进行字符串化。不幸的是,它最后返回“未定义”!
【问题讨论】:
-
你想要一个新对象吗?你试过了吗?
-
是的,我想要新对象!
标签: javascript object key key-value