簡體   English   中英

用於從JSON傳遞數據的數組映射方法

[英]Array map method for passing data from JSON

所以我有一個旨在將JSON('myObj')中的'id'映射到數組的函數:

function get_data () {
let myObj = (JSON.parse(this.responseText));
let id_array = myObj.map(item = () => {return item.id});
console.log(id_array);
}

console.log(myObj)給了我預期的結果:

(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {id: "774944", general: {…}, brand: {…}, images: {…}}
1: {id: "774945", general: {…}, brand: {…}, images: {…}}
...
9: {id: "738471", general: {…}, brand: {…}, images: {…}}
length: 10
__proto__: Array(0)

似乎get_data()函數正在運行,但不完全符合預期。 這是我的id_array:

(10) [undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
0: undefined
1: undefined
...
9: undefined
length: 10
__proto__: Array(0)

因此,我看到映射函數按值工作的方式無法正確讀取。 我想念什么?

好的,所以麻煩的是

let id_array = myObj.map(item = () => {return item.id});

它的內容為“將箭頭函數分配給item變量,然后將其插入到map函數中以生成新數組。這當然沒有任何意義,因為箭頭函數中的項目將是未定義的。你想要什么

let id_array = myObj.map(item => {return item.id});

另外,為什么不調用myObj,myArray以避免混淆。 由於它實際上是一個數組。 最好使用速記

let id_array = myArray.map(item => item.id);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM