Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript对象分解/操作_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript对象分解/操作

Javascript对象分解/操作,javascript,ecmascript-6,Javascript,Ecmascript 6,假设我有以下目标: const original = { first: 1, second: 2, third: 3 } 我想创建一个新的、独特的对象,其结构如下: const modified = { first: 100, third: 3 } ES6语法允许我执行一些非常强大的操作,如: const{second,…newElement}=original 其结果是: const newElement = { first: 1, third: 3 } 但是

假设我有以下目标:

const original = {
  first: 1,
  second: 2,
  third: 3
}
我想创建一个新的、独特的对象,其结构如下:

const modified = {
  first: 100,
  third: 3
}
ES6语法允许我执行一些非常强大的操作,如:

const{second,…newElement}=original

其结果是:

const newElement = {
  first: 1,
  third: 3
}
但是我仍然需要做
newElement.first=100

或者,我可以:

const newElement2=Object.assign({},original,{second:undefined,first:100})

但这并不是真正删除
,它只是将其设置为
未定义



是否有一种更优雅的替代方法,可以从
原始
转换为
修改的

首先使用更新的
创建一个对象:100
,然后使用对其进行分解

注意:是ECMAScript的第4阶段提案,而不是ES6的一部分

const-original={
第一:1,,
二:二,,
第三:3
}
常量{秒,…新元素}={…原始,第一:100};

console.log(newElement)
首先使用更新的
创建一个对象:100
,然后使用对其进行分解

注意:是ECMAScript的第4阶段提案,而不是ES6的一部分

const-original={
第一:1,,
二:二,,
第三:3
}
常量{秒,…新元素}={…原始,第一:100};

console.log(newElement)这是一个typescript键入问题,而不是linter问题,您可以在链接中找到多个解决方案。这是一个typescript键入问题,而不是linter问题,您可以在链接中找到多个解决方案。