美文网首页
Where do I belong(数组排序并找出元素索引)

Where do I belong(数组排序并找出元素索引)

作者: yyggfffg | 来源:发表于2018-04-21 11:32 被阅读0次

    数组排序并找出元素索引

    我身在何处?

    先给数组排序,然后找到指定的值在数组的位置,最后返回位置对应的索引。

    举例:where([1,2,3,4], 1.5) 应该返回 1。因为1.5插入到数组[1,2,3,4]后变成[1,1.5,2,3,4],而1.5对应的索引值就是1。

    同理,where([20,3,5], 19) 应该返回 2。因为数组会先排序为 [3,5,20],19插入到数组[3,5,20]后变成[3,5,19,20],而19对应的索引值就是2。

    function where(arr, num) {
      // 请把你的代码写在这里
      arr.push(num);
      arr.sort(function(a,b){
        return a-b;
      });
      return arr.indexOf(num);
    }
    where([40, 60], 50);
    

    注意:sort() 方法用就地( in-place )的算法对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。
    排序算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。

    相关文章

      网友评论

          本文标题:Where do I belong(数组排序并找出元素索引)

          本文链接:https://www.haomeiwen.com/subject/osxxlftx.html