鍍金池/ 問答/HTML5  HTML/ 像數(shù)組是這樣的我怎么順向拿到最后幾項的null?

像數(shù)組是這樣的我怎么順向拿到最后幾項的null?

1.業(yè)務(wù)邏輯是有值的到有值的之間是已完成不用管,但最后幾位為null的他們之間沒有值那就是代表待執(zhí)行,我怎么取到這幾個null?
2.業(yè)務(wù)區(qū)別 : 有值的之間的null代表已完成null或負(fù)值樣式都要隱藏掉,后面劃線連著的null他們之間 沒有值 代表待檢我要取到他們把樣式顯示出來
圖片描述

3.這是我目前的邏輯代碼, _times是上圖數(shù)組,我現(xiàn)在這代碼已經(jīng)獲取到了最后一位數(shù)字之后的第一個null,我還想繼續(xù)獲取所有的怎么拿?;

// 計算寬度

    var firstTimes = [];
    function test(arr){
        //這里獲取獲取null
        var index = -1;
        for(var i = arr.length; i >= 0; --i){
            if(typeof arr[i] == 'number'){
                index = i+1;
                break;
            }
        }
        console.log(index);
        
        //計算寬度
        for (var f = 0;f < arr.length;f++){
            if (arr[f] > 0 ) {
                firstTimes.push(Math.round((totals + 100)/totals * arr[f]) + '%');
            } else {
                firstTimes.push('none');
            }
        }
    };
    test(_times);
回答
編輯回答
妖妖

一定要獲取數(shù)組里面的null就是用filter獲取,const nullArr = arr.filter(item=> item===null)

ES5: var nullArr = _times.filter(function(item){ return item === null })

但是null這個值你獲取了是沒有意義的,有意義的應(yīng)該是null的位置,也就是數(shù)組的下標(biāo)

==============================

function getNulls(arr) {
  return arr.reduce(function(nullList, item, index) {
    if (item === null) {
      nullList.push(index);
      return nullList;
    }
    return [];
  }, []);
}

var arr = [1, 2, 3, null, 4, null, null, 8, null, null, null];

var result = getNulls(arr);
console.log(result);

// [8, 9, 10]

上面是獲取下標(biāo)的方法。不過我還是不太理解你的需求,比如你為什么要在if判斷?最好你能完整描述下需求,以找到更好的實現(xiàn)方式

2018年8月6日 15:47