在数组的开头添加元素;
使用的是splice()方法
arr.splice(index,0,元素);
index:是插入的位置 元素: 要插入的元素
var arr = [1,2,3,4];
arr.splice(0,0,5);
结果: console.log(arr); [5,1,2,3,4]
- 在数组的后面添加元素;
使用的是push()方法,并且返回数组的长度
var arr = ['king','tom'];
arr.push(item);
结果: console..log(arr); ['king','tom','item']
在数组的前面添加元素
使用的是unshift()方法,并且返回数组的长度
var arr = [];
arr.unshift(item);
使用的是pop()方法
var arr = [1,2,3,4,5];
arr.pop();
结果: console.log(arr); [1,2,3,4]
使用的是shift()方法;
var arr = [1,2,3,4];
arr.shift();
结果: console.log(arr); [2,3,4]
合并数组
合并两个或者多个数组的方法是concat() 并返回结果
var arr = [1,2,3];
var arr2 = [4,5,6];
arr.concat(arr2);
console.log(arr); [1,2,3,4,5,6]
apply()方法的使用:apply()方法有一个特性,就是func.apply(obj,avgr),avgr是一个数组
例如: 查询数组中出现过多次的元素有哪些;
function findMoreMonth(arr){
var result = [];
arr.forEach(function(elem){
if(arr.indexOf(elem) != arr.lastIndexOf(elem) && arr.indexOf(elem)==-1){
result.push(elem);
}
})
return result;
}
IndexOf(searchvalue,fromindex);方法有两个参数 |
参数1:seachervalue | 参数2:fromindex |
---|---|---|
必选 | 可选 | |
规定需要检索字符串的值 | 规定字符串中检索开始的位置 |
fromindex:它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
lastIndexOf(seachervalue,fromindex);方法也有两个参数 |
参数1:seachervalue | 参数2:fromindex |
---|---|---|
必选 | 可选 | |
规定需要检索字符串的值 | 规定字符串中检索开始的位置 |
fromindex:它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符开始检索。
提示: 这两个方法,如果需要检索的字符串没有出现,则返回值是 -1 。
filter() 把传入的函数一次作用到每一个元素上,根据返回值是true,还是false,进行决定这个元素是保留还是丢弃。
例如: var a = [1,2,3,4,5,6];
var r = a.filter(function(x){
return x === 3;
});
console.log(r); 打印的结果是: 3。
注意: filter() 返回的是一个数组 ;并且不会对空数组进行检测 ; 不会改变原数组;
arr.fillter(function(currentValue, index,arr),thisValue)
函数 | currentValue | index | arr | thisValue |
---|---|---|---|---|
必须 | 必须 | 可选 | 可选 | 可选 |
数组中每个元素都会执行这个函数 | 当前元素值 | 当前元素的索引值 | 当前元素属于的数组对象 | 对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined" |
简单的示例: 使用filter()方法实现去重;
var arr = [1,2,3,4,1,2,5];
var arr2 = arr.filter(function(elem,index,self){
return self.IndexOf(elem) === index;
})
结果打印: console.log(arr2); [3,4,5]
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。