我正在尝试将多个对象-公司名称添加到listBox公司中。我使用$scope.companies.push(newCompany[0].name);
将公司添加到列表中。但是因为我使用了newCompany[0].name
,所以只添加了第一个对象的公司。
现在,如何在不输入newCpmpany[1].name
的情况下将第二个公司名称添加到列表中?假设有50家公司,那么我不能将这50家公司全部添加。是否有更好的方法一次性添加所有名称?例如循环或增加元素之类的东西?寻求帮助。预先感谢。
var newCompany = [{
name: "Huawei", // -->COMPANY NAME
email: "Drath@yahoo.com",
phone: "123-123-1234",
owner: "Drath",
street: "Gin Blvd",
city: "Austin",
country: "USA",
duns:"123112321",
type: "buyer"
},
{
name: "Asus", // -->COMPANY NAME
email: "Vadar@yahoo.com",
phone: "999-123-8888",
owner: "Vadar",
street: "Vince Blvd",
city: "Dallas",
country: "USA",
duns: "123100000",
type: "supplier"
}];
window.localStorage.setItem("newCompany", JSON.stringify(newCompany));
$scope.companies = [];
var newCompany = JSON.parse(localStorage.getItem("newCompany"));
$scope.companies.push(newCompany[0].name);
答案 0 :(得分:3)
您可以尝试使用spread
$scope.companies.push(...newCompany.map(item => item.name));
或者为什么您需要完全推动?为什么不只使用精确值初始化$scope.companies
var newCompany = JSON.parse(localStorage.getItem("newCompany"));
$scope.companies = newCompany.map(item => item.name)
答案 1 :(得分:3)
如果不支持传播,则可以使用常规的数组拼接
var names = newCompany.map(function(company){return company.name});
$scope.companies.splice(-1, 0, names);