使用Array.map、Object.values、Object.keys处理对象中有对象,数组中有对象的情况

对象中有对象

const list = {
  "1234567890": {
    id: "1234567890",
    name: "Nina Ricci",
  },
  "2345678901": {
    id: "2345678901",
    name: "Hello Kitty",
  },
  "3456789012": {
    id: "3456789012",
    name: "Pusheen the cat",
  },
}

取得key的数组(阵列)

使用Object.keys

const idList = Object.keys(list);

idList // ["1234567890", "2345678901", "3456789012"]

取得value的数组(阵列)

  • 使用Object.values取得误解的value组成数组
  • 承上,使用Array.map将数组中的特定属性取出来,组成新数组后回传
const nameList = Object.values(list).map(item => item.name);
nameList // ["Nina Ricci", "Hello Kitty", "Pusheen the cat"]

数组中有对象1

const list = [
  {
    id: "1234567890",
    name: "Nina Ricci",
  },
  {
    id: "2345678901",
    name: "Hello Kitty",
  },
  {
    id: "3456789012",
    name: "Pusheen the cat",
  },
];

取得特性属性的数组

取得id
  • 使用Array.map迭代数组,并将callback中的执行结果组成新阵列后回传
  • 承上,在迭代数组过程中,使用Object.values取得第一个属性值,也就是id值
const idList = list.map(item => Object.values(item)[0]);

cosnt idList = list.map(item => item['id']);
idList // ["1234567890", "2345678901", "3456789012"]

取得name
const nameList = list.map(item => Object.value(item)[1]);
nameList // ["Nina Ricci", "Hello Kitty", "Pusheen the cat"]

数组中有对象2

const list = [
  {
    "1234567890": "Nina Ricci",
  },
  {
    "2345678901": "Hello Kitty",
  },
  {
    "3456789012": "Pusheen the cat",
  },
]

取得key的数组

const idList = list.map(item => Object.keys(item)[0]);
idList // ["1234567890", "2345678901", "3456789012"]

取得value的数组

const nameList = list.map(item => Object.values(item)[0]);
nameList // ["Nina Ricci", "Hello Kitty", "Pusheen the cat"]
Scroll to Top