Array
①concat(arrayX,arrayX,……,arrayX) 连接两个或更多的数组,并返回结果;可以是具体的值,也可以是数组对象,返回的是数组
②join(separator) 方法用于把数组中的所有元素放入一个字符串。返回的是字符串
如果省略参数,则默认使用逗号作为分隔符
参数为空时,无缝组合
参数是字符时,使用字符作为连接符,如果字符两边有空格,保留字符两边的空格
参数是符号时,使用符号连接
参数为标签时,比如‘</br>’,每个单元后会换行
可以用来添加元素:html ="<option>"+ array.join("</option><option>")+"</option>";
③pop() 方法用于删除并返回数组的最后一个元素,无参数,会改变数组的长度
④shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值;如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值,会改变数组的长度
⑤push(newelement1,newelement2,....,newelementX) 方法可向数组的末尾添加一个或多个元素,并返回新的长度,直接往数组后添加元素,返回push后数组的长度
⑥unshift(newelement1,newelement2,....,newelementX) 方法可向数组的开头添加一个或更多元素,并返回新的长度,第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素
⑦reverse() 方法用于颠倒数组中元素的顺序,该方法会改变原来的数组,而不会创建新的数组
⑧slice(start,end) 方法可从已有的数组中返回选定的元素,返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,原始数组不会改变(包含start,但不包含end),返回截取后的新数组
start:如果不写从0开始,从该索引处开始提取原数组中的元素
end:在该索引处结束提取原数组元素;如果 end 被省略,则slice 会一直提取到原数组末尾如果 end 大于数组长度,slice 也会一直提取到原数组末尾
⑨splice(index,howmany,item1,.....,itemX)方法向/从数组中添加/删除项目,然后返回被删除的项目
参数一:整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置
参数二:要删除的项目数量。如果设置为 0,则不会删除项目
参数三:向数组添加的新项目
改变原有的数组,并返回一个新数组
list.splice(0,2);// 删除 -> 从下标为0开始,长度为2
list.splice(0,2,4);// 替换 -> 从下标为0开始,选取两个数组元素替换成4(即4,2整体替换成4)
list.splice(1,0,5,4,3);// 表示在下标为1处依次添加5/4/3三个元素
⑩sort() 方法用于对数组的元素进行排序;arrayObject.sort(sortby),可选,规定排序顺序,必须是函数。
默认按照字符顺序进行升序排序
按其他标准排序:比较函数两个参数a和b,返回a-b升序,返回b-a降序
☞如果是普通数据类型
arr.sort(function(a,b){
returnb-a;
});
☞如果是对象数组
arr.sort(function(a, b){
if(a.sortNo === b.sortNo) {
return b.sortNo2 - a.sortNo2;
} else {
returna.sortNo - b.sortNo;
}
});
⑪toSource() 方法表示对象的源代码,该原始值由 Array 对象派生的所有对象继承,只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法
以下三个方法继承自Object
⑫toString() 方法可把数组转换为字符串,并返回结果,以逗号分割,和没有参数的join一样
⑬arrayObject.toLocaleString()把数组转换为本地字符串
和toString的区别:
转换日期格式时,toStringhi转换为中国标准时间Tue Apr 12 2018 10:23:57 GMT+0800
tolocalString会转换为本地时间2016/4/12 上午10:23:57
转换数值类型时,toString标准数据型显示,123456
tolocalString 12,345,670
⑭valueOf() 方法返回 Array 对象的原始值
Array valueOf() 方法返回 Array 对象的原始值
Boolean,function,number,object,string 都会返回自身的值
Date 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数UTC。
与toString的区别
toString一定将所有内容转为字符串,专用于输出字符串
valueOf取出对象内部的值,不进行类型转换,专用于算数计算和关系运算
都无法获取null和undefined的值
15.delete
运算符 只能删除数组元素的值,而所占空间还在,总长度没变(arr.length)
改变原数组的:
shift:将第一个元素删除并且返回删除元素,空即为undefined
unshift:向数组开头添加元素,并返回新的长度
pop:删除最后一个并返回删除的元素
push:向数组末尾添加元素,并返回新的长度
reverse:颠倒数组顺序
sort:对数组排序
splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回
不改变原数组的:
concat:连接多个数组,返回新的数组
join:将数组中所有元素以参数作为分隔符放入一个字符
slice:slice(start,end),返回选定元素
map,filter,forEach,some,every等不改变原数组