给定一个数组,例如:
var arr = [
['1','15','56'],
['1','15','56'],
['3','-','56'],
['1','78','-'],
['1','-','56'],
]
如图所示不规则的二维数组求其最大值,有什么优雅点的方法吗?
给定一个数组,例如:
var arr = [
['1','15','56'],
['1','15','56'],
['3','-','56'],
['1','78','-'],
['1','-','56'],
]
如图所示不规则的二维数组求其最大值,有什么优雅点的方法吗?
var arr = [
['1','15','56'],
['1','15','56'],
['3','-','56'],
['1','78','-'],
['1','-','56'],
];
function dparseInt(i){
var j = parseInt(i);
if( isNaN(j) ) return 0;
return j;
var arr = [
['1','15','56'],
['1','15','56'],
['3','-','56'],
['1','78','-'],
['1','-','56'],
];
function dparseInt(i){
var j = parseInt(i);
if( isNaN(j) ) return 0;
return j;
}
//数组全是字符先转为数字
var arr1 = arr.map(item=>{
return item.map(i => dparseInt(i));
});
console.log(arr1);
//两个Math.max 搞定
var result = Math.max(...arr1.map(v=>Math.max(...v)))
console.log(result)
Math.max.apply(null, arr.map(function(el) {
return Math.max.apply(null, el.filter(function(item) {return +item}))
}))
题主试试
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
es6很简单,如果二维数组是纯数字的话这样
不过我看你数组中包含
-
这样的字符,就要先过滤一遍es5就乖乖循环遍历吧,怎么写都是丑的