【发布时间】:2017-12-28 02:52:26
【问题描述】:
此函数在删除所有其他数字后返回一个数字。例如,在第一次运行时,从左到右 - 3、7 和 9 被删除。然后循环从右到左进行下一次迭代,直到最后只剩下 8 个。
我不明白为什么只有一个元素(数字)被推送到数组中。这个while循环是如何工作的? “过滤”到底发生在哪里?此外, .reverse 功能让我失望。这段代码怎么知道如何从左到右,然后从右到左多次?
是的,任何帮助将不胜感激;-) 谢谢
function everyOtherfilter(values){
while (values.length > 1){
new_values = [];
for (var i=1; i < values.length; i = i+2){
new_values.push(values[i]);
}
values = new_values.reverse();
}
return values[0]
}
(everyOtherFilter([3, 5, 7, 8, 9, 2])) = 8
【问题讨论】:
-
为什么这么仇恨?蒂姆把我赶走了。谢谢你;-)
标签: javascript for-loop while-loop