Javascript 创建具有相同字段的对象的速记

Javascript 创建具有相同字段的对象的速记,javascript,ecmascript-6,Javascript,Ecmascript 6,有没有一种方法可以将{a:1}传递到函数中 const json = { a: 1, b: 2, c: "HI" } 我不确定ES6的解构/构造是否解决了这个问题。在阅读了几个ES6解构示例之后,我似乎找不到正确的语法 编辑 代码没有问题,我只是想问,是否有语法只从JSON中提取“a”,而不进行冗余操作 {a:json.a} AOOnly函数的实现不是这里的重点您可以对作为参数传递的对象使用ES6对象分解来选取特定属性 const json={ 答:1,, b:2, c:“你好”

有没有一种方法可以将
{a:1}
传递到函数中

const json = {
  a: 1,
  b: 2,
  c: "HI"
}
我不确定ES6的解构/构造是否解决了这个问题。在阅读了几个ES6解构示例之后,我似乎找不到正确的语法

编辑 代码没有问题,我只是想问,是否有语法只从JSON中提取“a”,而不进行冗余操作

{a:json.a}


AOOnly函数的实现不是这里的重点

您可以对作为参数传递的对象使用ES6对象分解来选取特定属性

const json={
答:1,,
b:2,
c:“你好”
}
函数AOOnly({a}){
返回a;
}
var someReturn=aoonly(json);

log(someReturn)
谢谢,我找到了正确的语法。我最初犯的错误是试图直接使用
{json.a}
进行构造,希望这会自动变成
{a:json.a}
,但正确的方法是先进行析构函数,然后再进行构造

var json={
答:“ASDF”,
b:123,
c:“测试”
};
常量{a,b,c}=json;//自毁
var aObject=aoonly({a});//建造
var-bObject=bOnly({b});
var cObject=cOnly({c});
console.log(aObject);
console.log(bObject);
console.log(cObject);
函数aoonly(a){返回a;}
函数bOnly(b){返回b;}

函数cOnly(c){return c;}
在你的例子中,你想要什么返回到相等的值/你只想要什么返回?我的意思是。。。你给了我一个选择。怎么了?它很容易阅读、清理等。@KevinB没有错:)奇怪的是有ES6语法来缩短
{a:json.a}
const{a}=json的提取;a仅({a})但是。。。这并不比你目前所做的短,在我看来也不容易理解(除非你已经从其他地方的解构
json
中受益)@KevinB谢谢!我只是自己贴出答案。我知道我现在做错了什么。是的,这就是我想问的:P但是没有将
函数aoonly(a){
修改为
函数aoonly({a}){
有没有一种方法可以只从函数调用“构造”a?例如
var someReturn=aoonly({json.a})
或者类似的东西?
var someReturn = aOnly({a : json.a});