如何在js中从这个数组中提取标题?

问题描述 投票:1回答:4

我有千位学生的json对象我将json对象转换为数组,这就是一个数组的样子

 [ 'Alex',
  { id: '0.0010733333111112',
    grade: 'N/A',
    street: 'N/A',
    zip: 'N/A',
    hobby: 'soccer' } ]

我如何从这个Alex中提取数组中的名称。

javascript arrays json
4个回答
1
投票

如果您没有将所有学生的信息放在一个阵列中,您可以通过YourArrayName[0]获取它。

如果是这种情况,则需要将数组的结构更改为键值对。并致电Object.keys(YourArrayName)获取所有学生的名字。


1
投票

它是一个包含2个内容的数组,即索引为0的字符串和索引1处的对象。因此,使用括号表示法获取索引0处的项目,如:

var arr = [ 'Alex',
  { id: '0.0010733333111112',
    grade: 'N/A',
    street: 'N/A',
    zip: 'N/A',
    hobby: 'soccer' } ]
    
console.log(arr[0]);

1
投票

它只是一个数组而你正试图获得第一个元素。 要从数组中获取项目,请使用nameOfMyArray[Index],在您的情况下,它将是nameOfYourArray[0](请记住第一项始终为0)。

var myStudent = [ 'Alex',
  { id: '0.0010733333111112',
    grade: 'N/A',
    street: 'N/A',
    zip: 'N/A',
    hobby: 'soccer' } ];
alert(myStudent[0])

如果你想循环你的学生名单:

for (var i in myStudentList) {
  alert(myStudentList[i][0]);
}

如果您的学生使用JSON并不重要,因为您说您将JSON字符串转换为学生数组(我认为每个项目就像您的示例中的学生Alex)。

最后,我认为这是一种更好的方式来存储您的学生作为键值(信息的名称和词典),而不是您的实际方式字典数组,所以你的例子将是:

 var myStudent = { 'Alex':
        {id: '0.0010733333111112',
        grade: 'N/A',
        street: 'N/A',
        zip: 'N/A',
        hobby: 'soccer'}
 }

如果你使用这个想法,要获得所有学生的名字:

alert(myStudentList.Keys())

0
投票

您可以使用Array map()方法从数组中的每个对象获取name

DEMO

var arr = [{
	id: '0.0010733333111112',
	grade: 'N/A',
	street: 'N/A',
	zip: 'N/A',
	hobby: 'soccer',
	name: 'Alex'
}, {
	id: '0.0010733333111113',
	grade: 'N/A',
	street: 'N/A',
	zip: 'N/A',
	hobby: 'cricket',
	name: 'Bob'
}];

var newArr = arr.map(obj => {
  return obj.name;
});

console.log(newArr);
© www.soinside.com 2019 - 2024. All rights reserved.