Array对象
创建数组对象的两种方式
字面量方式 2、new Array()
检测一个对象是否是数组
Array.isArray() 如果返回true就是数组,false是非数组
valueOf() 返回数组对象本身
栈操作(先进后出)
push() 在数组最后添加元素
pop() 在数组最后删除元素
队列操作(先进先出)
shift() 在数组的0位置删除元素
unshift() 在数组的0位置添加元素,原先的0下标,变成1
排序方法
reverse() 翻转数组
sort(sortby); sortby,可选参数,规定排序顺序,必须是函数 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
操作方法
concat() 把参数拼接到当前数组、 或者用于连接两个或多个数组
slice(start,end) 1、从start开始截取元素,到end结束,包括start,不包括end,返回新数组,start,end是索引,
2、不会改变原始数组
splice() 1、从start开始截取元素,截取length个,,返回新数组,start是索引,length是个数
2、会改变元素的数组
位置方法
indexOf() 都是找位置 返回索引值 没有找到返回 -1,第一次出现位置
lastIndexOf() 如果没找到返回-1,元素最后一次出现的位置
上述方法只是查找顺序不一样 结果都是索引值
数组迭代方法
迭代(即是不停的代换)
1、forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数
array.forEach(function(currentValue, index))
currentValue 必需。当前元素
Index 可选。当前元素索引值
可以拿到每个数组中的值,没有返回值
迭代方法不会改变原来的值!!!!!!!!!
2、every() some()方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
some(),every()方法的参数是一个回调函数,回调函数中的第一个参数是数组的元素,第二个参数是数组的索引
some(),every()方法都会返回新的数组
公式: var flag1 = arr3.every(function (value, index) {
return value > 55;
})
console.log(flag1);
var flag2 = arr3.some(function (value, index) {
return value >= 88;
})
console.log(flag2)
every():判断回调函数中的表达式是否全部满足,如果满足,返回值就是true,只要有一个不满足就是false
some判断回调函数中的表达式是否有一个满足,如果至少一个满足,返回值就是true
3、filter ()与map ()
filter()根据指定条件过滤元素,返回新数组 ;
map()数根据数学运算,返回新数组
//filter():根据指定条件过滤元素,返回新数组
var new1 = arr.filter(function (value, index) {
return value >= 33;
})
console.log(new1);
//map():根据数学运算,返回新数组
var new2 = arr.map(function (value, index) {
return Math.pow(value, 2);
})
清空数组
方式1 推荐
arr = []
方式2
arr.length = 0
方式3
arr.splice(0, arr.length)
数组转化字符串
join()数组转化为字符串,以参数分割 例:join(‘’)分割所有
String对象
(1)、字符串的不可变
var str = 'abc';
str = 'hello';
// 当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中
// 重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
(2)、创建字符串对象
var str = new String('Hello World');
// 获取字符串中字符的个数
console.log(str.length);
(3)、字符串对象的常用方法
字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串
字符方法
charAt() //获取指定位置处字符
charCodeAt() //获取指定位置处字符的ASCII码
str[0] //HTML5,IE8+支持 和charAt()等效
2 字符串操作方法
concat() //拼接字符串,等效于+,+更常用
slice(start,end) //从start位置开始,截取到end位置,end取不到
substring(start,end) //从start位置开始,截取到end位置,end取不到
substr(start,length) 从start位置开始,截取length个字符
indexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从前往后,检索到第一个就结束)
lastIndexOf() //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从后往前,检索到第一个就结束)
trim() //只能去除字符串前后的空白
大小写转换方法
toUpperCase() //转换大写
toLowerCase() //转换小写
search()//方法用于检索字符串中指定的子字符串,返回子字符串的起始位置
replace(old,new) //替换字符串替换字符串 new替换old
split() //分割字符串 返回的是一个数组。。数组的元素就是以参数的分割的