簡體   English   中英

如何將對象數組中的元素從 api 推送到新數組 vue.js

[英]how to push elements in array of objects from api to new array vue.js

我想將對象數組中的前 6 個元素推送到我新制作的數組中。 我在網絡瀏覽器上得到它,但我得到了 NaN,而不是“qwe”“qweqweqwe”。 為什么?

假設來自 api 的對象數組如下所示:

0: {id: 340, name: "qwe", lastname: "qweqweqweq", …}
1: {id: 341, name: "qwe", lastname: "qweqweqweq", …}
2: {id: 342, name: "qwe", lastname: "qweqweqweq", …}
3: {id: 343, name: "qwe", lastname: "qweqweqweq", …}
4: {id: 344, name: "qwe", lastname: "qweqweqweq", …}
5: {id: 345, name: "qwe", lastname: "qweqweqweq", …}
6: {id: 346, name: "qwe", lastname: "qweqweqweq", …}
7: {id: 347, name: "qwe", lastname: "qweqweqweq", …}
8: {id: 348, name: "qwe", lastname: "qweqweqweq", …}

我的代碼如下所示:

.then(response => {
                console.log(typeof response.data, response.data);
                this.model = {
                    name: response.data.name,
                    lastname: response.data.lastname
                }
                this.userInfo.unshift(this.model.name + this.model.lastname); // Here's where i have problem
                if(this.userInfo.length > 6)
                    this.userInfo.pop();
            })
            .catch(error => {
                console.log('Something went wrong', error);
            });
        },

如果我理解您,您想將response的前 6 個元素推送到userInfo

如果這是你想要的,你可以這樣嘗試:

.then(response => {
    response.data.some((e, index) => {
          this.userInfo.push(e.name + e.lastname)
          return index > 5
    })
})

這很可能是因為response.data不包含字段namelastname作為undefined + undefined將導致NaN

如果您只想移動數組對象的前六個條目,則可以使用此方法

let newArray = response.data.slice(0, 6); // the newArray will have the first six objects of the response data.

暫無
暫無

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

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