baozhengrui

导航

js获取数组对象中的全部key和value值

1.使用Object.keys()方法‌:这是获取对象所有key值的最常用方法。Object.keys(obj)会返回一个包含对象所有可枚举属性的字符串数组,这些字符串即为对象的键。例如:

‌// 
  Object.values()// 获取所以的值
let obj = {name: "John", age: 30};
let keys = Object.keys(obj);
console.log(keys); // 输出:["name", "age"]

2.‌使用for...in循环‌:通过for...in循环可以遍历对象的所有可枚举属性,包括其原型链上的属性。这种方法可以获取对象的所有属性,包括不可枚举的属性。例如

let obj = {name: "John", age: 30};
for (let key in obj) {
    console.log(key); // 输出:name, age
}

3.使用Object.getOwnPropertyNames()方法‌:这个方法返回一个包含对象所有自身属性的字符串数组,包括不可枚举的属性。例如:

let obj = {name: "John", age: 30};
let propNames = Object.getOwnPropertyNames(obj);
console.log(propNames); // 输出:["name", "age"]

4.如果你需要获取对象内部的所有值,包括嵌套对象,你可以使用递归函数:

function getAllValues(obj) {
  let values = [];
  for (let key in obj) {
    if (typeof obj[key] === 'object') {
      values = values.concat(getAllValues(obj[key]));
    } else {
      values.push(obj[key]);
    }
  }
  return values;
}
 
const obj = {
  key1: 'value1',
  key2: {
    key2_1: 'value2_1',
    key2_2: 'value2_2'
  },
  key3: 'value3'
};
 
const allValues = getAllValues(obj);
console.log(allValues); // 输出: ['value1', 'value2_1', 'value2_2', 'value3']

posted on 2024-10-31 14:57  芮艺  阅读(309)  评论(0编辑  收藏  举报