dcc([
[{name:"A",value:33}, {name:"B",value:5}],
[{name:"C",value:24]}, {name:"D",value:10}],
[{name:"E",value:30}, {name:"F",value:9}],
[{name:"G",value:13}, {name:"H",value:25}]
])
我想求得二维数组dcc中的4个值,正确答案:ACEH
遍历列表,记录最大值及其所名称下标,遍历过程中,找到新的最大值,就修正。参考代码:
var lastNames = [];
var dcc = [
[{name:"A",value:33}, {name:"B",value:5}],
[{name:"C",value:24}, {name:"D",value:10}],
[{name:"E",value:30}, {name:"F",value:9}],
[{name:"G",value:13}, {name:"H",value:25}]];
for(var i=0;i<dcc.length;i++){
//内层遍历每个元素,元素的值还是一个数组
var max = dcc[i][0].value;//默认最大值为第一个组
var maxValueName = dcc[i][0].name ;
for(var j=1;j<dcc[i].length;j++){
if(max<dcc[i][j].value){
//找到新最大值,修正
max = dcc[i][j].value;
maxValueName = dcc[i][j].name ;
}
}
lastNames.push(maxValueName);
console.log('maxValueName is '+maxValueName);
}
alert('last names are '+lastNames);
运行结果:
var dcc = [
[{name:"A",value:33}, {name:"B",value:5}],
[{name:"C",value:24}, {name:"D",value:10}],
[{name:"E",value:30}, {name:"F",value:9}],
[{name:"G",value:13}, {name:"H",value:25}]
]
function find(name) {
for (let i = 0; i < dcc.length; i++) {
for (let j = 0; j < dcc[i].length; j++) {
if (name == dcc[i][j].name) {
return dcc[i][j].value
}
}
}
}
find('A') // 33