手记

JAVASCRIPT对数组简单处理


在数组的开头添加元素;

使用的是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是一个数组

IndexOf()方法, 元素第一次出现的位置;lastIndexOf,元素最后一次出现的位置

例如: 查询数组中出现过多次的元素有哪些;

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()方法; 方法的作用是对数组的过滤处理操作:

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]

©著作权归作者所有:来自51CTO博客作者漫漫的king的原创作品,如需转载,请注明出处,否则将追究法律责任

j


0人推荐
随时随地看视频
慕课网APP