繁体   English   中英

如何获取对象的键/值对

[英]How to get a key/value pair for an object

这个问题可能听起来很愚蠢,但我想为我的对象获得一个键/值对:

var a = {"e":1,"d":3,"f":4}

我尝试使用Object.keys(a) // returns ["e", "d", "f"]

这不会得到与键相关的值,我怎样才能让两者都能在页面中显示。

HTML:

<div>
  <img src={value}/> //here i want value 1 to be displayed
{key} //with "e"
</div>

我该怎么做? 谢谢!!

干得好。 要从对象获取key/value pair ,请使用纯JavaScript方式Object.entries()执行以下操作

 var a = {"e":1,"d":3,"f":4} for (const [key, value] of Object.entries(a)) { console.log(`${key} ${value}`); } 

如果您想获得单个值:

Just use: *a.e* or *a[e]* return 1 

eg. <img src={a.e} />

如果你想迭代一个Object来获得价值,有几种方法:

var a = {"e":1,"d":3,"f":4}

方法1:用于:

for ( var x in a) {
    console.log('v:',a[x]);
}

方法2:使用地图:

Object.keys(a).map( (k) => {console.log('k',a[k])} );

方法3:使用foreach:

Object.keys(a).forEach(function(key,index) {
        console.log('a[key]',a[key]);
      });

你可以这样做的一种方法是这样的:

var a = {"e":1,"d":3,"f":4}

 for(var key in a){
  alert(key + ' : ' + a[key])
 }

如果你需要迭代每一对。 然而,对于in循环在javascript中有点janky,如果你决定,你应该阅读一些关于走这条路线的内容。

https://jsfiddle.net/edh4131/hd9p7cxq/

 var a = {"e":1,"d":3,"f":4} let container = document.querySelector('.container') Object.entries(a).forEach(entry =>{ let div = document.createElement('div') let img = document.createElement('img') img.src = entry[1] div.textContent = entry[0] div.appendChild(img) container.appendChild(div) }) 
 <div class="container"> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM