Javascript 如何销毁密钥对对象
我试图用一对Javascript 如何销毁密钥对对象,javascript,Javascript,我试图用一对[键,值]来破坏一个对象,例如: var v = { foo: 'bar'}; function f({key, value}) { console.log('key is ' + key); console.log('value is ' + value); } f(v); 此示例应打印: key is foo value is bar 但它实际上是在打印: key is undefined value is undefined 我怎样才能做到这一点?注意:
[键,值]
来破坏一个对象,例如:
var v = { foo: 'bar'};
function f({key, value}) {
console.log('key is ' + key);
console.log('value is ' + value);
}
f(v);
此示例应打印:
key is foo
value is bar
但它实际上是在打印:
key is undefined
value is undefined
我怎样才能做到这一点?注意:键名可能会有所不同。不确定这是否是您要查找的,但
Object.keys()
会起作用
var v={foo:'bar'};
函数f(o){
console.log('键为'+Object.keys(o)[0]);
log('值为'+o[Object.keys(o)[0]]);
}
f(v)代码>可用于获取对象的条目,该对象为每个条目返回键值数组
函数f(对象){
for(Object.entries(Object))的var[key,value]{
console.log('键是'+键);
console.log('值为'+值);
}
}
f({foo:'bar'})代码>不确定是否可以直接在参数内析构函数键/值
但是你可以在函数里面做
例如
const v={foo:'bar'};
函数f(o){
常量[key,value]=对象项(o)[0];
console.log('键是'+键);
console.log('值为'+值);
}
f(v)代码>这也适用于具有多个属性的对象
var object={foo:'bar',food:'pizza'};
函数f(对象){
//获取所有键的数组
让keys=Object.keys(Object);
//迭代这个数组
keys.forEach(key=>{
//输出当前键和关联值
让属性=对象[键];
console.log('键是'+键);
console.log('值为'+属性);
});
}
f(对象)代码>
var v={foo:'bar'};
功能f(obj){
var pair=Object.entries(obj)[0];
console.log('键为'+pair[0]);
log('值为'+pair[1]);
}
f(v)代码>据我所知,您无法通过解构获得密钥和值;没有语法来分解未知密钥。您可以执行f({foo})
来获取值'bar'
,但如果键名不同,则解构将不起作用。Map
(链接)或对象
(示例)?密钥对对象(示例)@jonrsharpe我试图在一个reduce
中使用它,它接收一个密钥对值数组,并且在每次迭代中我试图破坏当前元素,但遗憾的是key
命名为varyThen为什么链接到一个仅在ES6及以上版本中可用的不同集合类型?O.O