Javascript 数组不断删除索引中的第一个数字
对不起,太丑了。我正在尝试编写代码,在这一点上,将电话号码列表作为字符串,找到它们的数字总和,并将其放入一个新数组中。我感觉很好,但是当我运行它时,我得到一个数组,它只包含后面的和,而不是索引中的第一个Javascript 数组不断删除索引中的第一个数字,javascript,arrays,Javascript,Arrays,对不起,太丑了。我正在尝试编写代码,在这一点上,将电话号码列表作为字符串,找到它们的数字总和,并将其放入一个新数组中。我感觉很好,但是当我运行它时,我得到一个数组,它只包含后面的和,而不是索引中的第一个 var numList = ["555-237-4892", "555-236-44892", "233-482-1049"]; var penList = []; for (var j = 0; j < numList.length; j++) { function sum()
var numList = ["555-237-4892", "555-236-44892", "233-482-1049"];
var penList = [];
for (var j = 0; j < numList.length; j++) {
function sum() {
var phonestr = numList[j];
var phoneArray = phonestr.split("");
delete phoneArray[3];
delete phoneArray[7];
phoneArray.sort();
phoneArray.pop();
phoneArray.pop();
var total = 0;
var phoneInt;
var largest = 0;
for (var i = 0; i < phoneArray.length; i++) {
phoneInt = parseInt(phoneArray[i]);
total += phoneInt;
}
penList[i] = total;
};
sum();
};
console.log(penList);
var numList=[“555-237-4892”、“555-236-44892”、“233-482-1049”];
var-penList=[];
对于(var j=0;j
如果我理解您的意图,我认为您希望更改以下内容:
penList[i] = total;
为此:
penList[j] = total;
这里有一个更简洁的方法:
var numList=[“555-237-4892”、“555-236-44892”、“233-482-1049”];
var result=numList.map(函数(项){
返回项。替换(/\D/g,“”)。拆分(“”)。减少(函数(总计,ch){
返回总计+parseInt(ch,10);
}, 0);
});
//在代码段中显示结果
document.write(JSON.stringify(result))代码>如果我理解您的意图,我认为您希望更改以下内容:
penList[i] = total;
为此:
penList[j] = total;
这里有一个更简洁的方法:
var numList=[“555-237-4892”、“555-236-44892”、“233-482-1049”];
var result=numList.map(函数(项){
返回项。替换(/\D/g,“”)。拆分(“”)。减少(函数(总计,ch){
返回总计+parseInt(ch,10);
}, 0);
});
//在代码段中显示结果
document.write(JSON.stringify(result))代码>将外部for循环中的penList[i]
更改为penList[j]
另外,如果不需要,如果要立即调用它,则不需要在for循环中声明sum()
函数。如果您这样做是为了模块化代码,最好将该函数移出循环以提高可读性。将外部for循环中的penList[i]
更改为penList[j]
另外,如果不需要,如果要立即调用它,则不需要在for循环中声明sum()
函数。如果您这样做是为了模块化代码,那么最好将该函数移出循环,以提高可读性。尝试以下方法:
后续评论进行解释
var numList=[“555-237-4892”、“555-236-44892”、“233-482-1049”];
var-penList=[];
对于(var j=0;j
试试这个:
后续评论进行解释
var numList=[“555-237-4892”、“555-236-44892”、“233-482-1049”];
var-penList=[];
对于(var j=0;j
不要为丑陋道歉。只需在发布前修改格式即可。提问者的一点努力在这里有很大的帮助。不要为自己的丑陋道歉。只需在发布前修改格式即可。提问者的一点努力在这里有很大的帮助。