作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Coderbyte 上进行挑战,如果您对我的问题提出任何建议,我将不胜感激:
给我的挑战:“使用 JavaScript 语言,具有函数 ArrayAdditionI(arr)获取存储在 arr 中的数字数组并返回字符串 true if数组中任意数字的组合可以相加等于数组中最大的数字,否则返回字符串 false。例如:如果 arr 包含 [4, 6, 23, 10, 1, 3] 则输出应为返回 true,因为 4 + 6 + 10 + 3 = 23。数组不会为空,不会包含所有相同的元素,并且可能包含负数。 ”
我尝试解决它的方式:http://jsfiddle.net/reLsg0fg/
function ArrayAdditionI(arr){
var newArr=arr.sort(); // sorted from smallest to largest.
var largestNum=newArr.slice(-1); // Gets the last number, which would be the largest.
var loopArr=arr.sort().pop(); // Takes out the largest number for adding later.
var result=0;
for(var i=0; i<loopArr.length; i++){ // loops through all numbers.
if(result/largestNum !== 1){ //when you divide a number by itself it will be 1.
result+=loopArr[i]; // keep adding each number until get largest number.
}else if(result === largestNum){
return true;
}
}
return false;
}
// TESTS
console.log("-----");
console.log(ArrayAdditionI([4,6,23,10,1,3]));
console.log(ArrayAdditionI([5,7,16,1,2]));
console.log(ArrayAdditionI([3,5,-1,8,12]));
我应该得到真、假、真。但我得到了错误、错误、错误,就好像我的循环中出现了问题。 JSFiddle:http://jsfiddle.net/reLsg0fg/
如有任何建议,我将不胜感激。谢谢^^
最佳答案
使用对数组进行排序
arr.sort(function (a, b) { return a - b })
关于javascript - Coderbyte 上的数组加法 I JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34103749/
我是一名优秀的程序员,十分优秀!