Array类型
1 创建
创建方法:
var arr = new Array();使用Array构造函数
var arr = new Array("red","green","red");还可以省略new
第二种方法
var arr = ['red','greem','red'];
var arr = []; 空数组
2 检测
利用Array.isArray(value)来检测是不是数组
3 转换方法
toString()转换为字符串
4 栈方法 先进后出
Push()返回长度
Pop()返回出队的元素
5 队列方法
Shift()数组第一个出队列,返回长度
Unshift在队首添加元素
6 排列方法
reverse是倒置
Soft排序是将数组里的元素toString()之后进行排序,其实质就是排序字符串。
如果要进行数值排序
function resort(a ,b) {
return a-b;
}
var arr4 = arr1.sort(resort);
10. join 将所有的数组元素转变为一个字符串
join(sparator) sparator指定分隔符
var arr1 = { 'zdd' , 'very good'};
var arr1 = arr1.join('');
11. 迭代器函数
数组中存在内置迭代方法来代替for循环
arr.every() ://用来验证数组每项满足的条件,如果全满足返回true,按顺序,只要有一个不满足,就立刻停止返回false
arr.some() : //用法和every相似,只要数组中的一项满足条件就立刻停止返回true,都不满足返回false
arr.forEach()://不能有返回值,不能break
arr.map(); //返回一个新的数组,可以将数组里面的值改变,这样就可以动态的改变数组了(返回每次函数调用的结果组成的数组)
arr.slice(start , end); //end为可选值 从strat到end截取返回一个数组
arr.toString(); //作为一个字符串返回
var arr1 = [1,2,3,4,5,6,7];
var result = arr1.toString();
返回的结果"1,2,3,4,5,6,7"
与arr.join(sparator);不同,join是将数组以sparator为分割符拼接成一个字符串,显然join在一定程度上可以代替toString
var a = arr1.toString()
"1,2,3,4,5,6,7"
var b = arr1.join('')
"1234567"
var b = arr1.join(',')
"1,2,3,4,5,6,7"
arr.filter(); //同样也是返回一个数组,但是反回的是true项组成的数组
arr.indexOf(x); //返回一个给定参数的第一个相等的索引,没有返回-1,可以用来检测是否含有哪个值
arr1.every(function(item,index,array) { //item是每次的索引里的内容,index为索引,array为item所在的数组
console.log(item + ' ' + index + ' ' + array +'\n');
return item >0;
})
同样也可以改为
forEvery =function(item,index,array) { //item是每次的索引里的内容,index为索引,array为item所在的数组
console.log(item + ' ' + index + ' ' + array +'\n');
return item >0;
}
arr1.every(forEvery);
字符串操作
1. indexOf(x); 同数组
2. indexLast(x); 同1,只是从后面找
3. substr(m,n); 截取字符串,从m开始,截取n个,n可以不填 对原字符串没改变
(8) slice(m,n); 从m开始,截取到n,不包括n
(9) substring(m,n) 同substr
4. arr.toLowerCase(); 将字符串转化为小写
5. arr.toUpperCase();将字符串转化为大写
6. arr.charAt(n)返回索引值的字符
7. charCodeAt(n); 返回索引值的unicode字符
8 .split 分割函数并转化为数组
arr.split(separator,howmany); separator分割的标准 howmany最大长度
9. splice
arr.splice(start ,deletehowmany,add1,add2...)
start为开始索引的位置,deletehowmany为从开始起到要删除的个数,add1...之后为要添加的
可以做的事:
从开始位置删除第几个 arr.splice(0,4);
从第m个位置开始插入 arr.splice(m-1,0,add1,add2...)
从第n个位置开始,用m个替换删除的m个 arr.splice(n,m,add1...addm)
10. concat 字符串的连接,需要用一个变量来接受
var arr1 = 'zdd';
var arr2 = 'very good';
var arr3 = arr1.concat(' ',arr2);
replace
match
search 等学到正则补上