如何使用 JavaScript 显示对象中的键和值?

4

我不知道在 JavaScript 中是否可能实现这一点。我有一个动态对象,类似于:

const list = {eb: 'blue', et: 'green'}

每当我的列表值发生改变时,就像这样:

const list = {er: 'yellow', ex: 'black'}

如何获取对象中的键和值?比如,我想同时显示它们。
const ikey = 'eb'
const ivalue = 'blue'
8个回答

11

You can use Object.entries.

let list = {eb: 'blue', et: 'green'}

const keyValue = (input) => Object.entries(input).forEach(([key,value]) => {
  console.log(key,value)
})


keyValue(list)
list = {er: 'yellow', ex: 'black'}
keyValue(list)


10

您可以使用 for..in 循环,

for (var key in list) {
  console.log(key, list[key]);
}

使用ES6,您可以使用Object.entries

for (let [key, value] of Object.entries(list)) {
    console.log(key, value);
}

2
try

for(var key in objects) {
        var value = objects[key];
    }

1
你可以使用 Object 原型的 Object.keys(objectNameHere) 方法按名称和枚举循环遍历键。

1

试试这个

const list = {er: 'yellow', ex: 'black'};
Object.keys(list).forEach(e=>console.log(e+"="+list[e]))


1
为了避免大量计算,由于V8很擅长处理JSON操作,您可以简单地使用JSON.stringify(obj)来获取所有条目。唯一的问题是您无法控制如何处理某些值类型,即在这种情况下,您只会保留原始值作为值。

0
使用 Object.entries() 从对象中获取键/值对列表。然后,您可以迭代这些键/值对并使用 Array.forEach() 显示它们:

Object.entries({ a: 'hello', b: 3 }).forEach(([key, val]) => {
  console.log(key, val);
});

你可以使用 Object.keys() 获取键列表,使用 Object.values() 获取值列表:

const obj = { a: 'hello', b: 3 };

console.log(Object.keys(obj));
console.log(Object.values(obj));
console.log(Object.entries(obj));

最后,您可以使用for...in循环直接迭代对象键,这种情况下,您必须使用括号表示法来访问对象的属性:

const obj = { a: 'hello', b: 3 };

for (const key in obj) {
  console.log(key, obj[key]);
}


0

尝试使用for..in运算符

var obj = {
  Name: 'Mohsin ',
  Age: 20,
  Address: 'Peshawar',
}

for (var keys in obj) {
  console.log(keys, ':', obj[keys])
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接