如代码所示,前两次循环是循环出outdata的key和value,第三次循环是循环andDate,然后把outdata的key和andDate转换为拼音作比较,如果是相等的话,拼音作为key,outdata的value作为值。
但是输出出来的数据是
[{"CeShi":5,"ChaoJiCeShi":6,"WuDiCeShi":7,"ZhengChangCeShi":8}]
相当于只push了一次?
正确的数据应当是
[{"CeShi":1,"ChaoJiCeShi":2,"WuDiCeShi":3,"ZhengChangCeShi":4},{"CeShi":5,"ChaoJiCeShi":6,"WuDiCeShi":7,"ZhengChangCeShi":8}]
求助下各位神仙哥哥姐姐们我应该怎么做!!
var outdata = [{"测试":1,"超级测试":2,"无敌测试":3,"正常测试":4},{"测试":5,"超级测试":6,"无敌测试":7,"正常测试":8}]
var andDate = ["测试","超级测试","无敌测试","正常测试"]
var brr = [], obj = {}
for (var i = 0; i < outdata.length; i++) {
for (var key in outdata[i]) {
for(var ney in andDate){
if(pinyin.getFullChars(key)===pinyin.getFullChars(andDate[ney])){ //pinyin.getFullChars(中文)这个方法就是将中文转拼音
obj[pinyin.getFullChars(andDate[ney])] = outdata[i][key]
}
}
}
}
brr.push(obj)
console.log('输出数据',JSON.stringify(brr));
//[{"CeShi":5,"ChaoJiCeShi":6,"WuDiCeShi":7,"ZhengChangCeShi":8}]
把
brr.push(obj)
移到第一个for
循环中呢?