【问题标题】:how to push elements in array of objects from api to new array vue.js如何将对象数组中的元素从 api 推送到新数组 vue.js
【发布时间】:2020-07-14 09:43:44
【问题描述】:

我想将对象数组中的前 6 个元素推送到我新制作的数组中。 我在网络浏览器上把它弄出来,但是或者“qwe”“qweqweqwe”我得到了 NaN。为什么?

假设来自 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);
            });
        },

【问题讨论】:

    标签: javascript arrays ajax vue.js object


    【解决方案1】:

    如果你只是想移动数组对象的前六个条目,那么你可以使用这个方法

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

    【讨论】:

      【解决方案2】:

      如果我理解你的话,你想将前 6 个元素从 response 推送到 userInfo

      如果这是你想要的,你可以这样尝试:

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

      【讨论】:

      • 谢谢,但现在我将它作为屏幕上的对象获取,如下所示: { "name": "qwe", "lastname": "qweqweqweqweq" } 我只想要 name 的值和姓氏。
      • @gospecomid12 哦,好的,你需要它就像字符串一样,我会更新答案。
      • 谢谢哥们,我应该自己想出来的,但是我的大脑太累了,现在去散步:p
      【解决方案3】:

      这很可能是因为response.data 不包含字段namelastname,因为undefined + undefined 将导致NaN

      【讨论】:

        猜你喜欢
        • 2021-04-19
        • 1970-01-01
        • 1970-01-01
        • 2012-07-10
        • 2019-12-22
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 2020-07-08
        相关资源
        最近更新 更多