const json = {
a: 1,
b: 2,
c: "HI"
}
有没有办法将{a : 1}
传入函数?
var someReturn = aOnly({a : json.a});
我不确定ES6的解构/构造是否解决了这个问题。在阅读了几个ES6解构示例后,我似乎无法找到正确的语法。
修改 代码没什么问题,我只是在询问是否有一种语法只能从JSON中提取“a”而不需要多余地执行
{a : json.a }
aOnly函数的实现不是这里的重点
答案 0 :(得分:2)
您可以对作为参数传递的对象使用ES6对象解构来选择特定属性。
const json = {
a: 1,
b: 2,
c: "HI"
}
function aOnly({a}) {
return a;
}
var someReturn = aOnly(json);
console.log(someReturn)
答案 1 :(得分:0)
谢谢,我已经找到了正确的语法。我最初的错误是尝试使用{ json.a }
直接构造,希望这会自动变为{ a : json.a}
,但正确的方法是先破坏并稍后构建。
var json = {
a : "ASDF",
b : 123,
c : "Test"
};
const {a, b, c} = json; // destructing
var aObject = aOnly({a}); // constructing
var bObject = bOnly({b});
var cObject = cOnly({c});
console.log (aObject);
console.log (bObject);
console.log (cObject);
function aOnly(a) { return a; }
function bOnly(b) { return b; }
function cOnly(c) { return c; }