相关疑难解决方法(0)

仅保留数组中每个对象中的选定键

编辑:不是重复的,因为我的问题不要求删除特定键,而是在数组中找不到所有键。

在下面,函数从对象中redux1删除与未列出的键对应的条目。keys_to_keepdata

鉴于我有一个要保留的对象键列表,我如何redux1以更简洁的方式重写,最好使用map,filterreduce?

var data = [
	{name: 'John', city: 'London', age: 42},
	{name: 'Mike', city: 'Warsaw', age: 18},
	{name: 'Jim', city: 'New York', age: 22},
	{name: 'Celine', city: 'Tokyo', age: 54},
]

var keys_to_keep = ['name', 'city']

function redux1(data) {
	data.forEach((person) => {
		Object.keys(person).forEach((key) => {
			if (!keys_to_keep.includes(key)) {
				delete (person[key])
			}
		})
	})
	console.log(data)
}

function redux2(data) {	
	var reduced = data.filter(person => Object.keys(person).filter(key => keys_to_keep.includes(key))) …
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
2
解决办法
4477
查看次数

javascript从数组中的所有对象中提取某些属性

我有一组具有相同属性的对象.每个对象有大约一百个属性.我想在一个新的数组中只保留少数几个:

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为每个对象,并删除其余?

javascript arrays ecmascript-6

1
推荐指数
4
解决办法
1249
查看次数

标签 统计

javascript ×2

arrays ×1

ecmascript-6 ×1