gpt4 book ai didi

javascript - 将项目推送到数组

转载 作者:行者123 更新时间:2023-12-03 00:44:11 24 4
gpt4 key购买 nike

我有以下变量

var brands = [];

我需要填充一些数据。数据来自 API。我使用 Axios 执行 GET

getRemoteBrands() {
axios
.get("http://my-url")
.then(response => {
response.data.forEach(element => {
var instance =
{
label: element.brand,
value : element.brand
};
this.brands.push(instance);
});
}).catch(error => console.log(error));
}

开发者工具中显示以下错误

TypeError: Cannot read property 'push' of undefined
at index.js:104
at Array.forEach (<anonymous>)
at index.js:98

显然brands不是一个数组,而是一个对象。我怎样才能使它成为一个数组

最佳答案

var Brands = []; 创建一个独立变量。 this.brands 不是一个独立的变量,它是 this 的一个属性,这是完全不同的东西(在您的情况下听起来是 undefined - 您之前从未向 this.brands 分配过任何内容)。

创建后引用独立变量brands:

var brands = [];

class something {
// ...
getRemoteBrands() {
var instance = {
label: element.brand,
value : element.brand
};
brands.push(instance);
}
}

或者在构造函数中创建this.brands,并引用this.brands:

class something {
constructor() {
this.brands = [];
}
getRemoteBrands() {
var instance = {
label: element.brand,
value : element.brand
};
this.brands.push(instance);
}
}

关于javascript - 将项目推送到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53316414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com