在Javascript中的相关数组操作(2)--初学者的小笔记
来源:互联网 发布:在淘宝复制的链接在哪 编辑:程序博客网 时间:2024/06/03 20:25
一,操作方法
1.concat()方法
当我们需要对多个数组进行连接,并得到返回的数组时,我们可以使用concat()方法,不传递参数时仅复制数组的副本并返回,当括号里包含参数时concat()方法连接数组时也分两张情况:一是连接的是多个数组,每个数组的项都添加到结果数组中;二是连接数组和字符串 ,字符串被添加到结果数组的末尾项
2.关于 slice() 与splice()
我理解的slice方法是基于当前数组创建一个新的副本,并且slice可以接受两个参数,即起始位置和结束位置,并返回起始位置到结束位置的项,并不包括结束位置,
重点是不会改变原数组,神技啊有木有!我就是靠这个区分他跟splice--这个跟他长得特别像的兄弟;举个栗子:
var arr1=['我','长','的','最','帅'];var arr2=arr1.slice(1,3)//返回 长,的说起slice的亲戚splice,splice跟他的兄弟slice最大的不同就是他会对他的数组爸爸“动刀子”,即splice方法是会改变原数组的,说到动刀,就要说说怎么动了;
①删除 :splice()接受两个参数,同样是起始位置和结束位置,但不包括结束位置;
②插入:这是splice接受三个参数,起始位置,要删除的项,以及你要插入的项;splice(2,0,'你要插入的内容');
③替换:其实这跟插入差不多,不同是第二个参数,这个参数要写你要替换原数组的多少项,并且你要插入的和你要删除的多少项并不是一定要相等的;
二,位置方法
indexof() lastindexof()
indexof是在数组中从位置0开始搜寻,找到则返回对应项,如果没有则返回 -1,而lastindexof则从数组的末端开始寻找其他与index方法相同;
通过index()的返回-1的机制,我们可以使用它达到数组去重;
var arr=[];var arr1=[1,1,55,6,8,44,5,55,8];for(var i=0;i<arr1.length;i++){//indexof 查找数组,数组中没找到返回-1if(arr.indexOf(arr1[i]) == -1){arr.push(arr1[i]);}}alert(arr);说起数组去重,最简便的方法应该是ES6里面的set办法,当然也可以使用hash表达到去重目的;
三、迭代方法
就像字面上说的,迭代就是历遍数组的每一项元素,ES5定义了五种迭代方法,并接受两个参数,一个是每一项上运行的函数(函数里可以传递三个值,即数组项的值,位置,原数组),另一个是运行该函数的作用域(改变this的指向)
every() :每一项返回true,则返回true
filter() :返回会返回true的项所组成的数组
map():返回每次函数调用的结果所组成的数组
foreach():没有返回值
some():存在一项为真,则返回true
对于filter方法我们可以判断并得到数组中满足判定的对应项:
var arr1=[1,2,3,6,5,4,6,88];var arr2=arr1.filter(function(item,index,array){ return item>5});四、归并方法
reduce()方法:从第一项开始,迭代数组,并作为参数传递给下一项,函数里一般有四个参数:(前一项,当前项,项的索引,原数组)
redeceRight():从最后一项开始
- 在Javascript中的相关数组操作(2)--初学者的小笔记
- 在Javascript中的一些数组的相关操作——初学者的一点小笔记
- python初学者学习笔记(二)数组的操作
- 小细节!!!!(二维树状数组的相关操作)
- Javascript 数组操作的相关函数讲解
- javascript中的数组操作
- JavaScript中的数组操作
- javascript中的数组的基本操作
- Javascript学习笔记之--强大的数组操作(一)
- Javascript学习笔记之--强大的数组操作(二)
- javascript学习笔记--数组对象的操作
- javaScript 数组的相关操作【修改、删除、新增、插入】
- 数组的相关操作
- 数组的相关操作
- 日常笔记:js中数组的相关操作
- Javascript中ECMAScript数组相关方法操作
- JavaScript数组的操作
- Javascript数组的操作
- Python2048小游戏demo
- HashMap源码 详细解析
- Nginx 多域名配置
- vue axios
- PAT题解——1102. Invert a Binary Tree (25)
- 在Javascript中的相关数组操作(2)--初学者的小笔记
- c++中的this 指针
- Spring中 @Autowired标签与 @Resource标签 的区别
- 杜教的板子(递推求值)
- (原创题) 友好素数对 (素数打表+预处理+二分)
- H5学习2
- PAT 1054. The Dominant Color (20) 找序列中某个元素出现一半以上;
- 关于开发UWP应用的时候临时证书删掉或者过期的问题
- TreeMap源码解析