【发布时间】:2017-07-17 11:30:26
【问题描述】:
我正在尝试用数组中的新对象替换一些现有对象,我有 2 个数组 allDays 和 storedDay,两者的大小不同 allDays 将有 10 个对象,storedDays 将有 4 个对象,但两者都会具有相同的值day
mode(){
this.nativeStorage.getItem("modifiedData").then((data)=>{
console.log(data)
var allDay = this.dailyDays;
for (var i = 0; i < allDay.length; i++) {
var element = allDay[i];
var storedDay = data[i];
console.log("all Day",element.day);
console.log("stored Day",storedDay.day);
if (element.day === storedDay.day) {
console.log("we have same day", i)
data=({
day: data.day,
month: data.month,
year: data.year,
quantity: data.selectedQuantity,
brand: data.selectedBrand,
price: data.price,
})
// below line will replace the whole object
this.dailyDays[i] = data;
}
}
console.log(data.day)
})
}
在执行上述操作时,我的存储值出现错误,有人可以举例说明如何检查两个数组并使用storedDay 更新数组。
【问题讨论】:
-
存储Day.day是个什么样的值?如果是对象,则无法与
===进行比较 -
向我们展示错误
-
这些数组的长度是否相同?
-
该错误是因为 2 个数组的大小不同,有人可以建议我如何检查这两个数组,如果有任何对象被添加到第二个数组,则应该在第一个数组中替换或更新它@丹莫伦
标签: javascript angularjs arrays