要比较JavaScript对象的键和数组,并返回新的对象,可以使用以下代码示例:
function compareAndReturnObject(obj, arr) {
const newObj = {};
// 遍历对象的键
for (let key in obj) {
// 检查键是否存在于数组中
if (arr.includes(key)) {
// 将匹配的键值对添加到新的对象中
newObj[key] = obj[key];
}
}
return newObj;
}
// 示例用法
const obj1 = {a: 1, b: 2, c: 3};
const arr1 = ['a', 'c'];
const result1 = compareAndReturnObject(obj1, arr1);
console.log(result1); // 输出: {a: 1, c: 3}
const obj2 = {x: 10, y: 20, z: 30};
const arr2 = ['y', 'z'];
const result2 = compareAndReturnObject(obj2, arr2);
console.log(result2); // 输出: {y: 20, z: 30}
在上面的示例中,我们定义了一个名为compareAndReturnObject
的函数,它接受一个对象和一个数组作为参数。然后,我们创建了一个空对象newObj
来存储匹配的键值对。我们使用for...in
循环遍历对象的所有键,并使用includes
方法检查键是否存在于数组中。如果键存在于数组中,我们将键值对添加到新的对象newObj
中。最后,我们返回新的对象newObj
。
在示例中,我们分别使用obj1
和arr1
,以及obj2
和arr2
作为参数调用compareAndReturnObject
函数,并将结果存储在result1
和result2
变量中。最后,我们使用console.log
打印出新的对象result1
和result2
的值。
运行示例代码将输出:
{a: 1, c: 3}
{y: 20, z: 30}
这证明了我们成功地比较了对象的键和数组,并返回了新的对象。