我大约两个月前开始学习编码和 JavaScript。而且我想我现在已经对数组以外的基础知识有了很好的了解。在给定变量中迭代和存储 ONE 单个元素时,我对数组有很大的疑问。
例如:
function getIndexToIns(arr, num) {
// Find my place in this sorted array.
var sorted = arr.sort(function(a, b) {
return a > b;
});
// console.log(sorted);
var checker = 0;
var finalResult = 0;
for (var i = 0; i < sorted.length; i++) {
checker = num;
if (checker <= sorted[i]) {
checker = sorted[i];
console.log(checker);
finalResult = arr.indexOf(checker);
}
}
return finalResult;
}
console.log(getIndexToIns([10, 20, 30, 40, 50], 35));
在这个例子中,我想遍历 arr
并且每当 if
条件为 true
时将该值存储在 checker
变量。 但是它正在存储该值 40
但循环不会停止,它会继续并将剩余的元素也存储在数组中,即 50
.
请向我解释一下这个概念以及如何在条件为真时停止循环并存储该单个元素。
最佳答案
一些注释
function getIndexToIns(arr, num) {
var i; // declare at top
arr.sort(function (a, b) { // sort sorts in situ
return a - b; // return delta, because sort expects
}); // numerical values
for (i = 0; i < arr.length; i++) {
if (arr[i] >= num) {
break; // exit loop on find
}
}
return i; // no need for indexOf, index is known
}
console.log(getIndexToIns([10, 20, 30, 40, 50], 35));
console.log(getIndexToIns([10, 20, 30, 40, 50], 100));
关于javascript - 将一个数组元素存储在一个变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48618789/