use*_*749 0 javascript arrays math
我有一个数组和方向变量,例如:
var fruits = ["apple","banana","cherry"];
var direction = 1;
//1 => forward; -1 => backwards;
Run Code Online (Sandbox Code Playgroud)
然后叫它我可能会说
index = **SOME MATHS HERE**
var fruit = fruits[index]
Run Code Online (Sandbox Code Playgroud)
所以目标是有一个可以在数组中前后移动的循环。我想要一个循环遍历数组。我知道我可以使用 if 循环来做这
if(direction < 0){//backwards}件事,但是当我可以使用聪明的数学运算来迭代它时,这将意味着两批代码。
像这样的事情会起作用:
var fruits = ["apple","banana","cherry"];
var direction = 1; // or -1
var i = direction > 0 ? 0 : fruits.length - 1,
stop = direction > 0 ? fruits.length : -1;
for (; i != stop; i += direction)
console.log(i, fruits[i]);
Run Code Online (Sandbox Code Playgroud)
var fruits = ["apple","banana","cherry"];
var direction = 1; // or -1
var i = direction > 0 ? 0 : fruits.length - 1,
stop = direction > 0 ? fruits.length : -1;
for (; i != stop; i += direction)
console.log(i, fruits[i]);
Run Code Online (Sandbox Code Playgroud)
var fruits = ["apple", "banana", "cherry"];
function iterate(direction) {
var results = $("#results").empty();
var i = direction > 0 ? 0 : fruits.length - 1,
stop = direction > 0 ? fruits.length : -1;
for (; i != stop; i += direction)
$("<span>").text(i + ": " + fruits[i] + "\n").appendTo(results);
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5651 次 |
| 最近记录: |