鍍金池/ 問答/HTML5  PHP  HTML/ JS一個(gè)json對象如何遍歷出每一個(gè)的值?

JS一個(gè)json對象如何遍歷出每一個(gè)的值?

clipboard.png
我現(xiàn)在要獲取里面的name值該怎么辦。

回答
編輯回答
厭惡我

es6的object.values方法,直接轉(zhuǎn)換成數(shù)組

2017年11月17日 18:55
編輯回答
放開她

var data = {

    1 : {name: 'qweqweqwe'},
    2 : {name: 'qweqweqwe'},
    3 : {name: 'qweqweqwe'},
    4 : {name: 'qweqweqwe'}
  }

  for(let i in data){
    console.log(data[i].name)
  }
2018年8月26日 04:43
編輯回答
涼心人

使用ES6語法,一行可以解決:

var data = {
  1:{name: 'asdfadfa'},
  2:{name: 'asdfadfa'},
  3:{name: 'asdfadfa'},
  4:{name: 'asdfadfa'},
  5:{name: 'asdfadfa'},
  6:{name: 'asdfadfa'}
}

Object.values(data).map(x => x.name)

clipboard.png

2017年10月15日 17:22
編輯回答
舊螢火

用Object.keys轉(zhuǎn)成數(shù)組

Object.keys(data).map(key => {
    console.log(data.key.name);
})
2017年12月9日 09:23
編輯回答
使勁操

雖然這數(shù)據(jù)結(jié)構(gòu)更應(yīng)該使用數(shù)組,不過如果你想遍歷這樣的對象,你可以使用:
var data = {
0: {name: 'asdfadfa'},
1: {name: 'asdfadfa'},
2: {name: 'asdfadfa'},
3: {name: 'asdfadfa'},
4: {name: 'asdfadfa'},
5: {name: 'asdfadfa'}
};

data.length = 6;

Array.prototype.slice.call(data).map(val => val.name)

2017年2月3日 15:21
編輯回答
尛憇藌

首先你這個(gè)結(jié)構(gòu)應(yīng)該作為一個(gè)數(shù)組比較合適:

var data = [
  {name: 'asdfadfa'},
  {name: 'asdfadfa'},
  {name: 'asdfadfa'},
  {name: 'asdfadfa'},
  {name: 'asdfadfa'},
  {name: 'asdfadfa'}
];

然后按照你給的結(jié)構(gòu),這樣遍歷:

for(let i in data) {
  console.log(data[i].name);
}

若改成數(shù)組,則這樣遍歷:

for(let obj of data) {
  console.log(obj.name);
}

更多數(shù)組和對象遍歷方法,請搜索“js 遍歷數(shù)組”和“js 遍歷對象”。

2018年7月2日 16:47