最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript数组的快速克隆(slice()函数)和数组的排序、乱序和搜索(sort()函数)_基础知识

来源:动视网 责编:小采 时间:2020-11-27 20:34:16
文档

JavaScript数组的快速克隆(slice()函数)和数组的排序、乱序和搜索(sort()函数)_基础知识

JavaScript数组的快速克隆(slice()函数)和数组的排序、乱序和搜索(sort()函数)_基础知识:JavaScript中对变量的操作都是通过引用方式,而对数组也一样。 前两天想要对一个数组进行复制,一直苦于找不到办法(遍历的方法俺是绝对不采用的) 无意中拿起《JavaScript权威指南》翻了翻数组的操作函数,发现了slice()函数。 slice()原来是用来截
推荐度:
导读JavaScript数组的快速克隆(slice()函数)和数组的排序、乱序和搜索(sort()函数)_基础知识:JavaScript中对变量的操作都是通过引用方式,而对数组也一样。 前两天想要对一个数组进行复制,一直苦于找不到办法(遍历的方法俺是绝对不采用的) 无意中拿起《JavaScript权威指南》翻了翻数组的操作函数,发现了slice()函数。 slice()原来是用来截


JavaScript中对变量的操作都是通过引用方式,而对数组也一样。
前两天想要对一个数组进行复制,一直苦于找不到办法(遍历的方法俺是绝对不采用的)

无意中拿起《JavaScript权威指南》翻了翻数组的操作函数,发现了slice()函数。

slice()原来是用来截取数组中的一部分,这里我用它来复制数组,它的格式如下:
array.slice(start, end)
如果省略了end参数,则切分的数组包含从start开始到数组结束的所有元素。

现在要用它来复制数组,就一行,呵呵:
var newArray=oldArray.slice(0);

所有这些功能,用一个sort()就可以完成了。

1. 排序:
默认的sort()按字符编码排序的:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
现在要让它按照数值大小排序:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
只要传递一个比较函数给sort就可以了,如果比较函数的值小于0,则表示a必须出现在b前面,否则在b后面。
2. 乱序:
让比较函数随机传回-1或1就可以了:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
3. 搜索:
用sort()来玩搜索还蛮新鲜的,呵呵,看看是怎么玩的吧。
我现在要把数组里含有字母'a'的元素全部找出来,如果没有sort(),似乎只能用遍历了,遍历的效率…那个叫恐怖啊!!具体做法如下: