【发布时间】:2016-12-05 20:55:49
【问题描述】:
我的任务是创建一个具有单个输入参数的函数。此参数是一个数组,其中包含带有连字符的信用卡号字符串。 该函数必须输出数字和最大的信用卡号。如果两个信用卡号的总和相同,则应返回最后一个信用卡号。 这是嵌套数组的示例。
['4916-2600-1804-0530', '4779-252888-3972', '4252-278893-7978', '4556-4242-9283-2260']
以下是我尝试过的。任何和所有的建议表示赞赏。谢谢!
function creditSum(creditCardNumber) {
var number1= creditCardNumber[0];
var number2= creditCardNumber[1];
var number3= creditCardNumber[2];
var number4= creditCardNumber[3];
var split1=[];
var split2=[];
var split3=[];
var split4=[];
split1= number1.split ('');
split2= number2.split ('');
split3= number3.split ('');
split4= number4.split ('');
var sum1= split1[0]+split1[1]+split1[2]+split1[3]+split1[5]+split1[6]+split1[7]+split1[8]+split1[10]+split1[11]+split1[12]+split1[13]+split1[15]+split1[16]+split1[17]+split1[18];
var sum2= split2[0]+split2[1]+split2[2]+split2[3]+split2[5]+split2[6]+split2[7]+split2[8]+split2[10]+split2[11]+split2[12]+split2[13]+split2[15]+split2[16]+split2[17]+split2[18];
var sum3= split3[0]+split3[1]+split3[2]+split3[3]+split3[5]+split3[6]+split3[7]+split3[8]+split3[10]+split3[11]+split3[12]+split3[13]+split3[15]+split3[16]+split3[17]+split3[18];
var sum4= split4[0]+split4[1]+split4[2]+split4[3]+split4[5]+split4[6]+split4[7]+split4[8]+split4[10]+split4[11]+split4[12]+split4[13]+split4[15]+split4[16]+split4[17]+split4[18];
if (sum1>sum2 && sum1>sum3 && sum1>sum4){
answer= number1;
}
else if (sum2>sum1 && sum2>sum3 && sum2>sum4){
answer= number2;
}
else if (sum3>sum1 && sum3>sum2 && sum3>sum4){
answer=number3;
}
else if (sum4>sum1 && sum4>sum2 && sum4>sum3){
answer=number4;
}
else if (sum1==sum2){
answer=number2;
}
else if (sum1==sum3){
answer=sum3;
}
else if (sum1==sum4){
answer=sum4;
}
else if (sum2==sum3){
answer=sum3;
}
else if (sum2==sum4){
answer=sum4;
}
else if (sum3==sum4){
answer=sum4;
}
return answer
}
【问题讨论】:
-
问题中的
javascript有什么问题?您可以在问题中包含示例嵌套数组吗?见stackoverflow.com/help/how-to-ask,stackoverflow.com/help/mcve -
如果您的代码有效,请转到codereview.stackexchange.com,而不是这里。
-
我们不是家庭作业服务。
-
更清楚地描述您的问题
标签: javascript arrays nested sum