我想在 JS 中创建某种类型的 Laravel only
方法。
我有以下 JSON:
let obj = {
name: "Wil",
age: "20",
id: "1"
}
还有一个过滤器数组:
let filters = ['name', 'age'];
在本例中,我想要一个带有 2 个参数的函数:
const filterJSON = (object, filters) => {
}
我希望函数返回相同的对象,仅包含我在过滤器数组中传递的键名。
在这种情况下:
{
name: "Wil",
age: "20"
}
我尝试使用 .map
和 .filter
但我没有得到我想要的,我找到的示例仅包含对象数组,但是在这种情况下,我需要过滤单个对象。
谢谢。
最佳答案
可以使用简单的reduce()
返回一个新对象
let obj = { name: "Wil",age: "20",id: "1"}
let filters = ['name', 'age'];
const filterJSON = (obj, fil) => fil.reduce((a,c) => (a[c] = obj[c], a),{})
console.log(filterJSON(obj, filters))
关于javascript - 按键名称过滤单个 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57117413/