要比较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}
这证明了我们成功地比较了对象的键和数组,并返回了新的对象。