javascript - 从现有对象创建新对象,并在 ES6 中将属性设置在数组中

标签 javascript arrays object ecmascript-6

我有这样的现有对象:

let origObj = {
   name: 'John',
   surname: 'Doe',
   age: 23,
   gender: 'M'
}

我想创建一个具有属性的新对象,并在数组中设置

let fieldsList = ['name', 'gender'];

新对象可能如下所示:

newObj = {
   name: 'John',
   gender: 'M'
}

我在下面回答了我的问题,但也许你有更好的解决方案来解决这个问题,例如使用 ES6 还是其他?

最佳答案

您可以使用array#reduce

let origObj = {
   name: 'John',
   surname: 'Doe',
   age: 23,
   gender: 'M'
}

let fieldsList = ['name', 'gender'];

var newObject = fieldsList.reduce((obj,prop) => {
return obj[prop]= origObj[prop], obj 
} ,{});

console.log(newObject);

关于javascript - 从现有对象创建新对象,并在 ES6 中将属性设置在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46071187/

相关文章:

JavaScript 匹配数组和拼接但失败

c - c中的数组和字符串

java - 如何以千字节(kb)或字节为单位获取对象的大小

java - java 中 'object' 的默认值是多少?

javascript - 正则表达式自动化,用于将 javascript 十六进制字符串替换为 HTML 实体字符串

javascript - 获取图像 4 个 Angular 的 x、y 坐标

javascript - 如何删除 pouchDB 中的身份验证模式

c - 从函数返回一个无空格的字符串

java - 如何使用输入来创建对象

javascript - 访问和评估 jQuery 插件中的配置值