说我有一个对象:
elmo = {
color: 'red',
annoying: true,
height: 'unknown',
meta: { one: '1', two: '2'}
};
Run Code Online (Sandbox Code Playgroud)
我想用一个属性的子集创建一个新对象.
// pseudo code
subset = elmo.slice('color', 'height')
//=> { color: 'red', height: 'unknown' }
Run Code Online (Sandbox Code Playgroud)
我怎么能实现这个目标?
我有以下对象数组:
[{id:1, value:"100", name:"dog" ...},
{id:2, value:"200", name:"cat" ...},
{id:3, value:"300", name:"fish"....},
{id:4, value:"400", name:"mouse" ...},
{id:5, value:"500", name:"snake"...}]
Run Code Online (Sandbox Code Playgroud)
我想过滤对象数组并只保留两个键,id并value得到这样的东西:
[{id:1, value:"100"},
{id:2, value:"200"},
{id:3, value:"300"},
{id:4, value:"400"},
{id:5, value:"500"}]
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用for循环遍历对象数组,并push()使用新变量执行到空数组.有更简单的方法吗?
我想使用Lodash,_.pluck(PetList, 'id', 'value');但lodash仅提取值,而不是关键.
假设我有一个包含许多键的对象列表,我只想保留其中的某些键。这就是我的做法。
SO 上其他好的解决方案的问题是,如果键中不存在键以保持它仍然添加一个键,值未定义的值。
let data = [{
'a': 1,
'b': 2,
'c': 3
},
{
'a': 1,
'c': 3,
'd': 4
}]
const keys_to_keep = ['a', 'b']
data = data.map((obj) => {
Object.keys(obj).forEach(function(key) {
if(!keys_to_keep.includes(key))
delete obj[key]
});
return obj;
})
Run Code Online (Sandbox Code Playgroud)
输出 :
[ { a: 1, b: 2 }, { a: 1} ]
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来完成这项工作。任何帮助表示赞赏。
我有一组具有相同属性的对象.每个对象有大约一百个属性.我想在一个新的数组中只保留少数几个:
var dummyArray = [{ "att1": "something", "att2": "something", ..., "att100": "something"}, { "att1": "something", "att2": "something", ..., "att100": "something"}, ...];
Run Code Online (Sandbox Code Playgroud)
如何过滤/映射/缩小...并提取有趣的键?
const newDummArray = dummyArray.map(function(item) {
delete item.att1;
delete item.att3;
delete item.att15;
// ... (long list)
return item;
});
Run Code Online (Sandbox Code Playgroud)
我怎么能只保留att20,att30,att70,att80为每个对象,并删除其余?
我有一个与下面相同的数组对象,我只想得到 3 个键id、token和name的结果:
[
{
id:1,
token: 'xyz',
name: 'john',
_v: 2,
_isActived: true,
_isBlocked: false,
...
},
{
id: 2,
token: 'abc',
name: 'thomas',
_v: 2,
_isActived: true,
_isBlocked: false,
...
},
...
]
Run Code Online (Sandbox Code Playgroud)
我想要的结果:
[
{
id:1,
token: 'xyz',
name: 'john'
},
{
id:2,
token: 'abc',
name: 'thomas'
},
...
]
Run Code Online (Sandbox Code Playgroud)
谁能帮帮我啊!
我有一个清单
let data = [{order: 1, plannedid:32, userid:123 },
{order: 2, plannedid:33, userid:124 }];
let keys = ['orderid','plannerid'];
Run Code Online (Sandbox Code Playgroud)
根据我们需要从数组中获取所有列的键。
我可以使用以下代码按预期获取数据,
let tempData =[];
data.forEach(function(d) {
tempData.push({
orderid: d.orderid,
plannerid: d.plannerid
});
});
Run Code Online (Sandbox Code Playgroud)
输出:
[{order: 1, plannedid:32},
{order: 2, plannedid:33 }];
Run Code Online (Sandbox Code Playgroud)
但如果我的键数组是动态的,我们如何根据键读取
ex: let keys = ['orderid','userid'];
Run Code Online (Sandbox Code Playgroud)
我们可以在 Push 函数中添加条件吗