比方說,比如我有這個數組的數組:地圖陣列陣列到陣列
var arrayWithArrays = [["peter","director","40"],["marie","author","10"],["marie","author","6"],["peter","director","9"]];
我想要一個新的數組,都會有這樣的格式(唯一的名稱, 全部爲唯一的名稱小時加起來):
var chartData = [["peter", 49],["marie",16]];
我已經嘗試了分配的東西,但沒有按預期工作。 映射不起作用像預期
var temp = _.map(arrayWithArrays ,function(x){
if(chartData[x[0]]){
chartData[x[0]] += parseInt(x[2]);
}else{
chartData[x[0]] = parseInt(x[2]);
}
});
老式方法也犯規交付
for (var x = 0; x < arrayWithArrays.length; x++) {
if(chartData.length != 0){
for (var i = 0; i < chartData.length; i++) {
if(chartData[i][0] == arrayWithArrays[x][0]){
chartData[i][2] += parseInt(arrayWithArrays[x][2]);
}else{
var array = [];
array[0] = arrayWithArrays[x][0];
array[1] = parseInt(arrayWithArrays[x][2]);
chartData.push(array);
}
}
}else{
var array = [];
array[0] = arrayWithArrays[x][0];
array[1] = parseInt(arrayWithArrays[x][2]);
chartData.push(array);
}
}
我想我是得太多,我讓它更復雜更比它確實是...有人有一個想法讓我擺脫這種頭痛?我已經花了3個小時在此
是否使用underscore.js其他解決辦法? – Teemu
什麼是'chartData'?它在哪裏定義? – hindmost
@Teemu是的,我用下劃線。 – MichaelAngelo