尝试使用es6迭代对象数组,因为这对我来说是很新的
这是我的对象数组
[j]
0: j
$extCollectionIndex: 0
data: {ID: "b7f7ce8b-1455-41b3-ac26-b54916f6718f", userId: "444441", userName: "cjtest.1", email: "cjtest@gmail.com", …}
需要返回或使用控制台用户名
我刚刚尝试过(找到地图)
let obj = records.map(obj => {return obj.data});
console.log(obj)//[object,object]
有人可以帮我吗
答案 0 :(得分:2)
Array.prototype.map将返回一个新数组。如果返回obj.data
,则将有一个对象数组。
您需要对所需的数据更加具体。
let obj = records.map(obj => obj.data.userName );
答案 1 :(得分:1)
只需在map
而不是record.data.userName
上使用record.data
函数,然后就可以使用join
将其打印出来。或使用内部带有console.log
的forEach循环。
工作示例:
function foo(){
const records = [
{
"data": {
"ID": "b7f7ce8b-1455-41b3-ac26-b54916f6718f",
"userId": "444441",
"userName": "cjtest.1",
"email": "cjtest@gmail.com"
}
},
{
"data": {
"ID": "b7f7ce8b-1455-41b3-ac26-b54916f6718f",
"userId": "444441",
"userName": "srtkjrthrt",
"email": "cjtest@gmail.com"
}
},
{
"data": {
"ID": "b7f7ce8b-1455-41b3-ac26-b54916f6718f",
"userId": "444441",
"userName": "srthstrj",
"email": "cjtest@gmail.com"
}
},
{
"data": {
"ID": "b7f7ce8b-1455-41b3-ac26-b54916f6718f",
"userId": "444441",
"userName": "cjghj1",
"email": "cjtest@gmail.com"
}
}
]
const userList = records.map(record => record.data.userName)
console.log(userList.join(', '))
}
foo()
答案 2 :(得分:0)
这是输出
let obj = records.map(obj => {return obj.data.username});
console.log(obj)//cjtest.1
谢谢@Weedoze @gaetanoM