gpt4 book ai didi

javascript - 如果数字被插入到排序数组中,则获取数字的索引

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:42:57 25 4
gpt4 key购买 nike

function getIndexToIns(arr, num) {
arr.sort(function(a, b) {
return a - b;
});

for (var i = 0; i < arr.length; i++) { // cycles through the array
if (arr[i] >= num) { // if array value is bigger than num
return i; // return index pos of num bigger than value
}
else if (arr[i] === undefined) { // if not found
arr.push(num); // push to array
return arr.indexOf(num); // return index pos of new num <-- should return 3 in this case
}
}
}

console.log(getIndexToIns([2, 5, 10], 15)); // Should return 3

这个的任务是对一个数组进行排序,如果在数组中则返回arg2的索引值。

示例:getIndexToIns([10, 20, 30, 40, 50], 35) 应返回 3

我遇到的麻烦是,如果在数组中找不到 arg2,将其插入其中并返回其索引值。我似乎无法让它发挥作用。

最佳答案

另一种方法:

function getIndex(arr, num) {
return arr.concat(num).sort(function(a, b) {
return a - b;
}).indexOf(num);
}

当然有几种方法可以做到这一点,但您的代码中的修复如下:

Working Example

function getIndexToIns(arr, num) {
arr.sort(function(a,b) {
return a-b;
});
for (var i=0;i<arr.length;i++) { // cycles through the array
if (arr[i] >= num) { // if array value is bigger than num
return i; // return index pos of num bigger than value
}
if (i === arr.length - 1) { // if not found
arr.push(num); // push to array
return arr.indexOf(num); // return index pos of new num <-- should return 3 in this case
}
}
}

在您的代码中,您检查了if (arr[i] === undefined) 永远不会发生,因此请检查您是否在数组的末尾,如果所以,这意味着你还没有找到你的号码,然后你可以推送它并获取索引。

关于javascript - 如果数字被插入到排序数组中,则获取数字的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com