一个解决上述问题的方法是使用JavaScript的Array.prototype.map()和Array.prototype.filter()方法。我们可以使用filter()方法过滤对象,然后使用map()方法创建一个新的数组对象。
以下是一个使用这种方法的示例:
const input = { a: 1, b: 2, c: 3, d: 4 };
const keys = ['b', 'd'];
const output = keys
.filter(key => key in input) // 过滤不存在的键
.map(key => ({ [key]: input[key] }));
console.log(output);
// 输出: [{b: 2}, {d: 4}]
在上面的例子中,我们首先定义了输入对象input
和我们想要过滤的键数组keys
。然后,我们使用Array.filter()方法过滤掉输入对象中不存在的键。接下来,使用Array.map()方法,我们可以创建一个新数组对象,并将每个键和值作为一个新的对象添加到该数组中。最后,我们打印出了这个新的对象数组output
。
这种方法非常有用,因为它允许我们轻松地将一个对象转换为另一个对象,而不必使用难以维护的循环结构。
上一篇:按键过滤对象中的对象