for (let k = 0; k < FriendsTop.length; k++) { console.log(data.data[k]) FriendsTop.searchList[k].id = data.data[k].id FriendsTop.searchList[k].name = data.data[k].wname FriendsTop.searchList[k].sex = data.data[k].sex FriendsTop.searchList[k].account = data.data[k].account FriendsTop.searchList[k].icon = data.data[k].accountIcon FriendsTop.searchList[k].phone = data.data[k].phone FriendsTop.searchList[k].email = data.data[k].email FriendsTop.searchList[k].department = data.data[k].department FriendsTop.searchList[k].profession = data.data[k].profession console.log(FriendsTop.searchList[k]) }为什么在循环第二次的时候会报数组中的对象属性未定义
时间: 2023-06-24 18:08:08 浏览: 81
这个问题可能是由于 `FriendsTop.searchList` 中的某些对象属性在第一次循环中没有被定义,导致在第二次循环中出现未定义的错误。你可以在循环之前先初始化 `FriendsTop.searchList` 里面的对象,例如:
```
for (let k = 0; k < FriendsTop.length; k++) {
FriendsTop.searchList[k] = {}; // 初始化对象
FriendsTop.searchList[k].id = data.data[k].id;
FriendsTop.searchList[k].name = data.data[k].wname;
FriendsTop.searchList[k].sex = data.data[k].sex;
FriendsTop.searchList[k].account = data.data[k].account;
FriendsTop.searchList[k].icon = data.data[k].accountIcon;
FriendsTop.searchList[k].phone = data.data[k].phone;
FriendsTop.searchList[k].email = data.data[k].email;
FriendsTop.searchList[k].department = data.data[k].department;
FriendsTop.searchList[k].profession = data.data[k].profession;
console.log(FriendsTop.searchList[k]);
}
```
这样做可以确保 `FriendsTop.searchList` 里面的对象在循环之前已经被初始化,避免了未定义属性的错误。
阅读全文