亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

何求一個不規則的二維數組的最大值

何求一個不規則的二維數組的最大值

千萬里不及你 2018-08-02 18:35:51
給定一個數組,例如:var arr = [     ['1','15','56'],     ['1','15','56'],     ['3','-','56'],     ['1','78','-'],     ['1','-','56'], ]如圖所示不規則的二維數組求其最大值,有什么優雅點的方法嗎?
查看完整描述

2 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

es6很簡單,如果二維數組是純數字的話這樣

const max = Math.max(...[].concat(...arr));
console.log(max)

不過我看你數組中包含-這樣的字符,就要先過濾一遍

const max = Math.max(...[].concat(...arr.map(_arr => _arr.map(v => isNaN(v) ? 0 : v))));console.log(max)

es5就乖乖循環遍歷吧,怎么寫都是丑的

var max = 0;
arr.forEach(function (_arr) {
  _arr.forEach(function (v) {
    if (!isNaN(v) && v > max) max = v
  })
});
console.log(max)


查看完整回答
反對 回復 2018-08-04
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

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)


查看完整回答
反對 回復 2018-08-04
  • 2 回答
  • 0 關注
  • 842 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號