javascript - 如何将数组项的单个值存储到父索引中?

标签 javascript arrays for-loop nested-loops

我试图迭代一个包含字符串的数组,该数组使用 for 循环,然后使用嵌套的 for 循环将每个单独的字符转换为数字,使用条件语句省略“-”,然后将数字添加到一起每个单独的索引,然后比较每个索引的最大总和并返回总和最大的索引。

var cards = ['98-23', '65-98', '43-14', '28-63'];
var sum = 0;
for (var i = 0; i < cards.length; i++) {
  console.log('i // ' + i);
  for (var j = 0; j < cards[i].length; j++) {
    if (cards[i][j] !== '-') {
      sum += parseInt(cards[i][j]);
      console.log(sum);
    }
  }
}

输出为:

i // 0
9
17
19
22
i // 1
28
33
42
50
i // 2
54
57
58
62
i // 3
64
72
78
81

我尝试实现

for( var j = 0; j <= cards[i].length; j++) {
}

但它返回;

i // 0
9
17
19
22
NaN
i // 1
5 > NaN
i // 2
5 > NaN
i // 3
5 > NaN

我将如何添加每个单独的索引而不将它们全部添加在一起?

最佳答案

Samuel 做得很好,我只是想添加它以获得更实用的方法和实践(es6)。我不明白你是否想要最大值的“索引”,或者只是最大值。这将返回最大值

var cards = ['98-23', '65-98', '43-14', '28-63'];

cards.map( ([...v]).filter(Number)).reduce( (p,c) => {
    return p.concat(c.reduce( (x,y) => x +=+y,0))
}, []).sort( (a,b) => b-a).shift()
//28

关于javascript - 如何将数组项的单个值存储到父索引中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39135011/

相关文章:

javascript - mongoose - 如何从 $pull 中删除元素

javascript - 尝试将 cloudinary 与 requirejs 一起使用

javascript - png 图像阴影未在 IE7 和 8 中显示

python - 类型错误 : float() argument must be a string or a number, 而不是 'NaTType'

javascript - 我创建了一个测验,修改了我在网上找到的代码,但遇到了一个小问题

javascript - Asp.net MVC Razor - if block 内的自定义 javascript

javascript - 使用 AngularJS 从数组中创建统计数据

arrays - 更新范围内数组的值

arrays - bash grep 结果到数组

r - 如何循环遍历数据框列表以在 R 中设置列​​名称?