项目场景:
报错:
Cannot set property ‘1’ of undefined
var arr = [];
var index=1
arr[index]['name'] = 'Bob';
// 可能会报错 'cannot set property of undefined',
// 因为 arr 是一个空数组,arr[0] 是 'undefined',
// 需要将代码改为
arr[index] = {};
arr[index]['name'] = 'Bob';
//或者
if(arr[index] !==undefined}{
arr[index]['name'] = 'Bob';
}
原因
因为arr[index]可能是undefined,如果再给arr[index动态添加属性的话就会报这样的错误
解决方案
当arrindex]为undefined的时候给它初始化,即arr[index] = {}