【发布时间】:2016-01-04 21:42:53
【问题描述】:
好的,所以我正在尝试访问该数组内部字符串中的每个单独的数字。
var array = ['818-625-9945','999-992-1313','888-222-2222','999-123-1245'];
var str = "";
for (i=0; i<array.length; i++) {
str = array[i];
}
问题在于这是输出:'999-992-1313'
而不是第一个元素数组[0]:'818-625-9945'
当我尝试使用嵌套的 for 循环遍历字符串中的每个元素时,我无法说明这些元素。
var array = ['818-625-9945','999-992-1313','888-222-2222','999-123-1245'];
for (i=0; i<array.length; i++) {
for (j=0; j<array[i].length; j++) {
console.log(array[i][j]);
}
}
我不知道如何访问字符串数组[i] 中的每个单独的数字。我想找到一种方法来制作一个计数器,这样如果我遇到数字“8”,我就会在总分上加 8,这样我就可以对每个单独的字符串元素求和,看看哪个数字的总和最高。
var array = ['818-625-9945','999-992-1313','888-222-2222','999-123-1245'];
for (i=0; i<array.length; i++) {
for (j=0; j<array[i].length; j++) {
if (array[i](j).indexOf('8') !== -1) {
// add one to total score
// then find a way to increase the index to the next index (might need help here also please)
}
}
}
【问题讨论】:
-
你想达到什么目标?
-
您的第一段代码按预期工作,所以我不确定您的问题是什么 (jsfiddle.net/vr34gqyw)
-
您可以在连字符 (-) 上拆分每个成员,拆分每个数字并添加位,例如
'818'.split('').reduce(function(a, b){return +a + +b})返回17。您想添加"818-625-9945"中的所有数字还是仅添加每个序列中的数字,例如"818", "625", "9945"? -
在我看来,您正在寻找最多 8 的数字。那将是 888-222-2222,这就是您要寻找的答案吗?
标签: javascript arrays string indexing indexof