我正在尝试用一对破坏地图对象[key, value],例如:
var v = { foo: 'bar'};
function f({key, value}) {
console.log('key is ' + key);
console.log('value is ' + value);
}
f(v);
Run Code Online (Sandbox Code Playgroud)
这个例子应该打印:
key is foo
value is bar
Run Code Online (Sandbox Code Playgroud)
但它实际上是在打印:
key is undefined
value is undefined
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?注意:键名可能会有所不同。
您可以用于Object.entries获取对象的条目,它为每个条目返回一个键值数组。
function f(object) {
for (var [key, value] of Object.entries(object)) {
console.log('key is ' + key);
console.log('value is ' + value);
}
}
f({ foo: 'bar' });Run Code Online (Sandbox Code Playgroud)
不确定您可以直接在参数内部析构键/值。
但是你可以在函数里面做..
例如。
const v = { foo: 'bar'};
function f(o) {
const [key, value] = Object.entries(o)[0];
console.log('key is ' + key);
console.log('value is ' + value);
}
f(v); Run Code Online (Sandbox Code Playgroud)
Sco*_*cus -1
不确定这是否是您要寻找的,但Object.keys()确实可以解决问题。
var v = { foo: 'bar'};
function f(o) {
console.log('key is ' + Object.keys(o)[0]);
console.log('value is ' + o[Object.keys(o)[0]]);
}
f(v);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3516 次 |
| 最近记录: |