gpt4 book ai didi

javascript - 将数据推送到对象angularjs

转载 作者:行者123 更新时间:2023-11-30 16:06:43 24 4
gpt4 key购买 nike

我想制作对象的选项卡,并使用 for 循环将另一个对象的值传递给此选项卡。我的对象标签:

data4 = [{meal_id : '' ,amount : '' }]

循环:

for i in [0...$scope.mealsList.length]
data4[i].meal_id = $scope.mealsList[i].id
data4[i].amount = $scope.mealsList[i].amount

$scope.mealsList 是我要复制的对象的选项卡。

现在我有一个错误:

Cannot set property 'meal_id' of undefined

你能告诉我,我做错了什么吗?

ps:语言水平不好,希望大家理解。

最佳答案

您遍历 $scope.mealsList 的长度,但从 data4 获取值。如果它们的长度不同(这似乎是问题所在),您将在取消引用 data[i] 时得到 undefined。

我不太确定您想做什么,但您似乎想将 $scope.mealsList 修改为 data4,因为您要替换 data4 的所有值。

在这种情况下,您只需将 mealsList 中的值修改为您想要的值,然后将 data4 设置为它即可。

var result = map($scope.mealsList, function(item) { return { meal_id: item.id, amount: item.amount };});
console.log('mapped: ', result);
data4 = result;

function map(arr, fn) {
var res = [];
for (var i = 0; i < arr.length; ++i) {
res.push(fn(arr[i]));
}
return res;
}

关于javascript - 将数据推送到对象angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36936127/

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