数组前面添加
var arr=[1,3];
arr.push(4);
console.log(arr);
var arr=[1,3];
var a=arr.push('fsdfsd');
console.log(a);
数组前面添加
var arr=[1,3];
arr.unshift(0); //ie6 7不支持
console.log(arr);
var arr=['a','b','c','d'];
arr.pop();
arr.shift();
console.log(arr);
splice删除、添加、替换 返回值是被删除的东西
删除
var arr=['a','b','c','d'];
arr.splice(0,1);
console.log(arr);
替换
var arr=['a','b','c','d'];
arr.splice(0,1,'aa');
console.log(arr);
添加
var arr=['a','b','c','d'];
arr.splice(1,0,'bb');
console.log(arr);
数组去重
//数组去重
var arr=[1,3,5,5,7,7,7,5,3,1];
for(var i=0;i<arr.length;i++){
for(j=i+1;j<arr.length;j++){
if(arr[i] === arr[j]){
arr.splice(j,1);
j--;
}
}
}
console.log(arr)
var a=["b", "n"];
var string=a.join(',');
console.log(string);
var str=['a','f','g','b'];
console.log(str.sort());
关于数组的增加、修改、删除
添加数组末尾一项:arr.push()或arr[x]或arr[arr.length]或splice()
删除数组最后一项:arr.pop()或arr.length--
删除数组中的首项:arr.shift()
向数组开头增加一项:arr.unshift()
增、删、改arr.splice(n,m)从索引n开始,删除m个元素,把删除的内容以一个新的数组返回,原来的数组改变
删除
arr.splice(n)从索引n开始,删除到数组末尾
arr.splice(0);清空数组,把之前的数组克隆了一份一模一样的
arr.splice();一个参数也没有,返回的是一个空数组
修改
arr.splice(n,m,x)从索引n开始,删除m个元素,用x替换删除的部分
增加
arr.splice(n,0,x)从索引n开始,一个都不删(返回的是一个空数组),把x增加到索引n的前面,原来的数组改变
关于数组的截取和拼接
arr.slice(n,m)从索引n开始,一直到索引m(不含m),将找到的部分数组返回,原来的数组不变
arr.slice(n)从索引n开始周一直找到数组末尾
arr.slice(0)把原来的参数克隆一模一样的
arr.concat(arr1):把两个数组拼接到一起,原来的数组不变
arr.concat()把arr克隆一份一模一样的数组
把数组转换为字符串
arr.toString()把数组转换为字符串,原来的数组不变
arr.join('+')把数组按照指定的分隔符拼接成字符串,原来的数组不变
eval()js中把字符串式执行的变成js表达一个方法
字符串转换为数组
将字符串按照指定的分隔符拆分成数组
string.split('+');根据+来拆分成数组
string.split('');将每一个字符拆分成数组
排序和排列
arr.reverse()把数组倒过来排序,原来的数组改变
arr.sort()按照数组的第一位从小到大排序(只能处理10以内的数组进行排序)
由小到大
arr.sort(function (a,b) {
return a-b;
});
由大到小
arr.sort(function (a,b) {
return b-a;
})
只有在标准浏览器中兼容的方法,在ie6~8下不兼容
indexOf()、lastIndexOf()(字符串中也有这两个方法,字符串中的这两个方法兼容所有的浏览器,而数组的这两个方法是不兼容的)
indexOf()、lastIndexOf()当前内容在数组中第一次/最后一次出现位置的索引,如果数组中没有这一项,返回的结果是-1,如果有这一项,索引是几就返回几原来的数组不变
forEach和map
forEach:数组中有几项,我们的函数就执行几次,原来的数组不变
map和forEach的语法是一样的,但是比forEach多加了一个把原来内容进行替换的功能,原来的数组不变,返回的新数组会变化