JavaScript常用数组操作方法
作者:互联网
1、concat()
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本。
2、join()
join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用’,'号分割,不改变原数组。
3、push()
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。
4、pop()
pop() 方法用于删除并返回数组的最后一个元素。返回最后一个元素,会改变原数组。
5、shift()
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回第一个元素,改变原数组。
6、unshift()
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。返回新长度,改变原数组。
7、slice()
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。返回选定的元素,该方法不会修改原数组。
8、splice()
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。splice() 方法会直接对数组进行修改。
9、substring() 和 substr()
相同点:如果只是写一个参数,两者的作用都一样:都是是截取字符串从当前下标以后直到字符串最后的字符串片段。
substr(startIndex);
substring(startIndex);
不同点:第二个参数
substr(startIndex,lenth): 第二个参数是截取字符串的长度(从起始点截取某个长度的字符串);
substring(startIndex, endIndex): 第二个参数是截取字符串最终的下标 (截取2个位置之间的字符串,‘含头不含尾’)。
10、sort 排序
按照 Unicode code 位置排序,默认升序
11、reverse()
reverse() 方法用于颠倒数组中元素的顺序。返回的是颠倒后的数组,会改变原数组
12、indexOf 和 lastIndexOf
都接受两个参数:查找的值、查找起始位置
不存在,返回 -1 ;存在,返回位置。indexOf 是从前往后查找, lastIndexOf 是从后往前查找。
indexOf
13、every
对数组的每一项都运行给定的函数,每一项都返回 ture,则返回 true
14、some
对数组的每一项都运行给定的函数,任意一项都返回 ture,则返回 true
15、filter
对数组的每一项都运行给定的函数,返回 结果为 ture 的项组成的数组
16、map
对数组的每一项都运行给定的函数,返回每次函数调用的结果组成一个新数组
17、forEach 数组遍历
js删除数组里的某个元素
JavaScript中如何删除数组某个元素,我们有需要了解splice这个方法,翻译为剪接,arr.splice(0,1)表示删除数组的第一个,arr.splice(1,2)表示删除从第二个开始,长度为2个的元素。
删除数组指定的某个元素
首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素: 代码为:
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
这样就构造了这样一个函数,比如我有有一个数组:
var emp = ['abs','dsf','sdf','fd']
假如我们要删除其中的 ‘fd’ ,就可以使用:
emp.remove('fd');
删除的数组的某一项
splice(index,len,[item]) 注释:该方法会改变原始数组。 splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空 如:arr = [‘a’,‘b’,‘c’,‘d’] 删除
//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变)
var arr = ['a','b','c','d'];
arr.splice(1,1);
console.log(arr);
//['a','c','d'];
//删除起始下标为1,长度为2的一个值(len设置2)
var arr2 = ['a','b','c','d']
arr2.splice(1,2);
console.log(arr2);
//['a','d']
替换
//替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1
var arr = ['a','b','c','d'];
arr.splice(1,1,'ttt');
console.log(arr);
//['a','ttt','c','d']
var arr2 = ['a','b','c','d'];
arr2.splice(1,2,'ttt');
console.log(arr2);
//['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
添加 ---- len设置为0,item为添加的值
var arr = ['a','b','c','d'];
arr.splice(1,0,'ttt');
console.log(arr);
//['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'
Javascript删除数组中指定元素的方法
- splice()函数
splice()恐怕要算最强大的数组方法了,他的用法有很多种,在此只介绍删除数组元素的方法。在删除数组元素的时候,它可以删除任意数量的项,只需要指定2个参数:要删除的第一项的位置和要删除的项数,例如splice(0, 2)会删除数组中的前两项。
var colors = ["red", "blue", "grey"];
var item = colors.splice(0, 1);
console.log(item); //"red"
console.log(colors); //["blue", "grey"]
迭代方法删除数组中指定元素
所谓的迭代方法就是用循环迭代数组元素发现符合要删除的项则删除,用的最多的地方可能是数组中的元素为对象的时候,根据对象的属性例如ID等等来删除数组元素。下面介绍两种方法:
第一种用最常见的ForEach循环来对比元素找到之后将其删除:
var colors = ["red", "blue", "grey"];
colors.forEach(function(item, index, arr) {
if(item == "red") {
arr.splice(index, 1);
}
});
第二种我们用循环中的filter方法
var colors = ["red", "blue", "grey"];
colors = colors.filter(function(item) {
return item != "red"
});
console.log(colors); //["blue", "grey"]
代码很简单,找出元素不是”red”的项数返回给colors(其实是得到了一个新的数组),从而达到删除的作用。
delete关键字删除数组中指定元素
var arr = [1, 2, 3, 4];
delete arr[0];
console.log(arr); //[undefined, 2, 3, 4]
可以看出来,delete删除之后数组长度不变,只是被删除元素被置为undefined了
- pop()方法
pop() 方法用于删除并返回数组的最后一个元素。
var colors = ["red", "blue", "grey"];
var item = colors.pop();
console.log(item); //"grey"
console.log(colors.length); //2
可以看出,在调用Pop方法时,数组返回最后一项,即”grey”,数组的元素也仅剩两项。
- shift()方法
标签:arr,元素,数组,删除,操作方法,JavaScript,splice,var 来源: https://blog.csdn.net/xcbzsy/article/details/121301163