【问题标题】:Comparing numerals within indexed Elements in an array Javascript比较数组Javascript中索引元素中的数字
【发布时间】:2019-03-16 20:16:42
【问题描述】:

给定一个像['8:2', '3:2', …] 这样的数组,我想比较数组中每个元素中的每个数字。所以Index[0] 会将 8 与 3 进行比较,依此类推。 如果 A 等于 B 它应该获得某个值,如果 A 小于 B 它应该获得另一个值。 我只是不知道如何在要比较的索引元素中获取这些数字,以便将新值存储到第二个数组中。

我试过了:

function check(games) {
var newArr = [];
var value;
//var newArr = [];
  for (var j=0; j<=games.length; j++){
    if (games[j].a === games[j].b ) {
      value = 0;
      newArr.push(value);
      //alert(newArr);
      //return value;
    }
    else if(games[j].a > games[j].b ) {
      value = 2;
      newArr.push(value);
      //alert(newArr);
    }
    alert(newArr.join(''));
  }

}

check(['3:3', '2:1']);

比我用for… in 尝试过的但它也不起作用...... (我的代码示例被缩短了)

function check(games) {
var arr = games;
var arrNew = [];
  for (var prop in games) {
    if (a === b) {
    var value = 0;
    arrNew.push(value);
    alert(arrNew.join(''));
    }
  }
}

 check(['3:3', '2:1']);

如何比较存储在索引中的元素? Like Index[0] = ("3:3') - 如何比较 a 和 b 以便可以迭代到下一个索引?

谢谢

【问题讨论】:

    标签: javascript arrays indexing compare element


    【解决方案1】:
    const list = ['8:2', '3:2'];
    list.forEach((e) => {
      const [a, b] = e.split(':').map(Number);
      if (a > b) {
        // a is greater than b
      } else if (a < b) {
        // b is greater than a
      } else {
        // a and b are equal
      }
    });
    

    【讨论】:

    • @OriDrori 说的对,谢谢指点,更新代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 2017-01-19
    • 2015-09-07
    相关资源
    最近更新 更多