提示username未定义,定义后也木有用,这个写应该改是不可以的,有什么好办法吗?
function changeArr(a) {
var arr = a;
var newArr = [];
var infos = ["username", "password", "nickname", "sex", "phone", "code", "email", "status"];
for (var i = 0; i < arr.length; i++) {
var obj = {};
for (var j = 0; j < arr[i].length; j++) {
obj[infos[j]] = arr[i][j];
}
newArr.push(obj);
}
return newArr;
}
$scope.batchaddstudent=changeArr($scope.batchaddstudent);
希望有所帮助!!
建议直接转对象数组吧。
给个Lodash写法:
var new = [];
var old = [['lalala','123','魏忠贤','双','15888888','null@jj.com','000001','1'],['hehehe','456','杨不悔','女','137777777','full@zz.com','000002','0']];
var temp = ['user','pass','nick','sex','mail','code','status'];
for (var i = 0; i < old.length; i++) {
new.push(_.zipObject(temp, old[i]));
}
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
你自己的解决方法当然是正确的,我这里给你一个类似 @熊猫桑 和 @listenWind 的解决办法,不过是用 map&reduce 来处理的。map&reduce 是用来处理数据的常规方法