Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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 - Fatal编程技术网

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