对于js,有关数组的操作很频繁,故整理出来便于查看
数组的增删改查
var arr = ['suelta','1024','csdn'];
var arr_len = arr.length;
// 查
arr[1] //结果:'1024'
arr.indexOf('csdn') // 结果:2
// 改
arr[0] ='js' // 结果:['js', '1024', 'csdn']
// 增
arr.push('new1') //push() 在数组结尾处向数组添加一个新的数据,并返回新增数据后的长度
arr.unshift('new2') // unshift() 方法(在开头)向数组添加新数据,并返回新增数据后的长度
//删
arr.pop() // pop() 方法从数组中删除最后一个数据,并返回删除的数据
arr.shift() // shift() 方法会删除首个数组数据,并返回删除的数据
delete arr[i] // 清空数组中的第i-1个数据,也就是第i个位置还在,数据为空
数组的拼接与合并
splice(a,b,...)
:其中第一个参数为插入数据的位置(从0开始算),第二个参数为删除数据的个数,后面的参数为插入的数据。
var arr = ['suelta','1024','csdn'];
// 插入,在第一个位置上插入两个数据
arr.splice(1,0,'js','java') // arr结果为['suelta', 'js', 'java', '1024', 'csdn']
// 删除,从第一个位置上删除两个数据(把刚刚添加的数据删除)
arr.splice(1,2) // arr结果为['suelta', '1024', 'csdn'],会返回删除的数据
concat()
数据的合并,不会改变现有的数组,返回一个新的数组。
arr1 = ['suelta','1024'];
arr2 = ['csdn'];
arr3 = arr1.concat(arr2); // arr3为['suelta', '1024', 'csdn']
arr4 = arr3.concat(arr1,arr2); // arr4为 ['suelta', '1024', 'csdn', 'suelta', '1024', 'csdn']
数组的遍历
var arr = ['suelta','1024','csdn'];
// for循环遍历
for(var i = 0; i <arr.length; i++) {
console.log(arr[i]);
}
// for...in方法
for(var item in arr){
console.log(arr[item]);
}
// for...of方法
for(var item of arr){
console.log(item);
}
// foreach
arr.forEach( function(item, index) {
console.log('第'+index+'项:',item);
})
filter过滤数组,用于去除不符合的项
var newArr = arr.filter(function(item){
if(条件){ // 条件成立,才会返回数据
return true;
}else{ // 条件不成立
return false;
}
})
// 举例:找出数组中长度等于4的字符串
var arr = ['suelta','1024','csdn'];
var newArr = arr.filter(function(item){
if(item.length===4){ // 条件成立
return true;
}
}) // newArr结果为['1024', 'csdn']