2016-11-06 103 views
0

有了這個數組的數組:的Javascript遍歷字符串和整數

const xx = [ 
    { 
    name: "Alex", 
    income: 324300, 
    total: 3030000 
    }, 
    { 
    name: "Snake", 
    income: 3433000, 
    total: 34323000 
    }, 
    { 
    name: "Wake", 
    income: 4, 
    total: 3 
    } 
]; 

我想通過它循環,並做一些事情如果值是一個int(收入和總)。我如何去做呢?

這是我到目前爲止已經試過,我真的不知道該怎麼取出來的對象值和測試,如果它是一個int

for (var key in xx) { 
     var arr = xx[key]; 
     for(var i = 0; i < arr.length; i++) { 
      var obj = arr[ i ]; 
     } 
    } 
     } 
+0

'xx.forEach((O)=> {如果(parseInt函數(o.income,10)==收入&& ...' – adeneo

回答

0

嘗試:

const xx = [ 
 
    { 
 
    name: "Alex", 
 
    income: 324300, 
 
    total: 3030000 
 
    }, 
 
    { 
 
    name: "Snake", 
 
    income: 3433000, 
 
    total: 34323000 
 
    }, 
 
    { 
 
    name: "Wake", 
 
    income: 4, 
 
    total: 3 
 
    } 
 
]; 
 

 
xx.forEach(item => { 
 
    Object.keys(item).forEach(key => { 
 
    if (!isNaN(parseInt(item[key])) && isFinite(item[key])) { 
 
     // do something here 
 
     console.log('INT: ' + item[key]); 
 
    } 
 
    }); 
 
});

0

您需要與外部交換內部。並使用:

  • typeof xx[i][k] === "number" OR xx[i][k] === +xx[i][k]檢查,如果值是 一個數字。
  • parseInt(xx[i][k]) === xx[i][k]檢查值是否爲整數 number。

參見例如:

const xx = [{ 
 
    name: "Alex", 
 
    income: 324300, 
 
    total: 3030000 
 
}, { 
 
    name: "Snake", 
 
    income: 34.33000, 
 
    total: 34323000 
 
}, { 
 
    name: "Wake", 
 
    income: 4, 
 
    total: 3 
 
}]; 
 
for (var i = 0; i < xx.length; i++) { 
 
    for (var k in xx[i]) { 
 
    //if(parseInt(xx[i][k]) === xx[i][k]) //integer 
 
    //if(typeof xx[i][k] == "number") //number 
 
    if (xx[i][k] === +xx[i][k]) { //number 
 
     console.log(k + ": " + xx[i][k]); 
 
    } 
 
    } 
 
}