题目链接

要求

数组排序并找出元素索引

我身在何处?

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

举例: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。


思考

  问题就是把数组中的数字按照递增进行排序。查找指定值的位置。有两种方法:
   进行数字与数组进行对比。首先需要判断第二个参数是否处在数组当中,如果存在,输出下标,不存在的话,进行对比。对比下标分别是i与i+1。如果元素>arr[i]并且<arr[i+1],则返回i+1。
   另一种思路就是直接填充进数组进行排序,然后去重。输出其所在下标即可。第二种比较简单 = =。


解法
解法1


相关链接

JS中的深浅拷贝问题-tanplay的博客

js 深浅拷贝 笔记总结


发表评论

电子邮件地址不会被公开。 必填项已用*标注