簡體   English   中英

如何銷毀密鑰對 object

[英]how to destruct a key pair object

我正在嘗試使用一對[key, value]來破壞map object,例如:

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

我怎樣才能做到這一點? 注意:鍵名可以不同。

不確定是否可以在參數內部直接銷毀鍵/值。

但是您可以在函數內部完成此操作。

例如。

 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); 

不確定這不是您要查找的內容,但是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); 

您可以使用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' }); 

這也應適用於具有多個屬性的對象。

 var object = { foo: 'bar', food: 'pizza'}; function f(object) { // get an array of all keys let keys = Object.keys(object); // iteratate over this array keys.forEach(key => { // output the current key and associated value let property = object[key]; console.log('key is ' + key); console.log('value is ' + property); }); } f(object); 

 var v = { foo: 'bar'}; function f(obj) { var pair = Object.entries(obj)[0]; console.log('key is ' + pair[0]); console.log('value is ' + pair[1]); } f(v); 

let foo = {foo: 'bar'}
let [key, value] = Object.entries(foo).flat();

console.log(key);
console.log(value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM