Javascript 按动态键过滤对象数组
Javascript Filter Array of Objects by Dynamic Key
我从一组对象开始,例如
const data = [
{
data1: 124,
data2: 5332,
data3: 12,
},
{
data1: 642,
data2: 5,
data3: 798,
}
]
我想将对象数组过滤到只有“data2”键,就像这样...
[
{
data2: 5332
},
{
data2: 5,
}
]
我试过这个代码:
const key = "data2";
const filtered = data.filter((d) => Object.keys(d.data) === key )
并尝试过此过滤器的变体。我知道我可以使用 data.forEach
但想知道是否有任何方法可以使用 filter
你要的是
const filtered = data.map((d) => ({
[key]: d[key]
}));
工作片段:
const data = [{
data1: 124,
data2: 5332,
data3: 12,
},
{
data1: 642,
data2: 5,
data3: 798,
}
]
const key = "data2";
const filtered = data.map((d) => ({
[key]: d[key]
}));
console.log(filtered);
我从一组对象开始,例如
const data = [
{
data1: 124,
data2: 5332,
data3: 12,
},
{
data1: 642,
data2: 5,
data3: 798,
}
]
我想将对象数组过滤到只有“data2”键,就像这样...
[
{
data2: 5332
},
{
data2: 5,
}
]
我试过这个代码:
const key = "data2";
const filtered = data.filter((d) => Object.keys(d.data) === key )
并尝试过此过滤器的变体。我知道我可以使用 data.forEach
但想知道是否有任何方法可以使用 filter
你要的是
const filtered = data.map((d) => ({
[key]: d[key]
}));
工作片段:
const data = [{
data1: 124,
data2: 5332,
data3: 12,
},
{
data1: 642,
data2: 5,
data3: 798,
}
]
const key = "data2";
const filtered = data.map((d) => ({
[key]: d[key]
}));
console.log(filtered);