①两种创建方式:
var a=[1,2,3,4,5]
var a=new Array()
②检测一个对象是否是数组:
❶instanceof:
如果返回
true
就是数组,
false
是非数组
❷Array.isArray():
如果返回
true
就是数组,
false
是非
数组
❸valueOf:
返回数组对象本身
③栈操作:
加:数组名.push():在数组后面加上括号里的数
删 数组名.pop():在数组后面删除括号里的数
不论你填在括号里的是什么,或者不填,都只会删除最后面的一个
④队列操作:
删 数组名.shift():在数组前面删除括号里的数
不论你填在括号里的是什么,或者不填,都只会删除最前面的一个
加 数组名.unshift():在数组前面加上括号里的数
⑤排序方法:
❶翻转数组:reverse()
❷sort(function(a,b){re}):
如果没有指明
参数
,那么元素会按照转换为的字符串的诸个字符的Unicode位点进行排序。例如 "Banana" 会被排列到 "cherry" 之前。当数字按由小到大排序时,9 出现在 80 之前,但因为没有指明sort
,比较的数字会先被转换为字符串,所以在Unicode顺序上 "80" 要比 "9" 要靠前
如果指明了参数 ,那么数组会按照调用该 函数的返回值排序。即 a 和 b 是两个将要被比较的元素:
如果 function(a, b) 小于 0 ,那么 a 会被排列到 b 之前;
如果function(a, b) 大于 0 , b 会被排列到 a 之前。
function(a, b) 必须总是对相同的输入返回相同的比较结果,否则排序的结果将是不确定的。
例如:
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});(从小到大)
b-a就是从大到小
会改变原来的数组
⑥操作方法:
❶数组拼接:concat()
var 新数组=数组a.concat(数组b),不会改变原数组,会拼接到一个新数组
❷截取数组:
slice(start,end): 例: var arr11 = arr1.slice(0, 3)
start是开始下标和end是结束下标左闭右开,不会影响原数组
splice(start,length):
例:var arr12 = arr1.splice(0, 3)
start是是开始下标,length是截取长度,返回截取部分到新数组,原有数组会少去被截取的部分
⑦位置方法:
indexOf():从前向后找,找到元素就返回第一次发现的下标值,没找到返回-1
lastindexOf():
从后向前找,找到元素就返回最后一次发现的下标值,没找到返回-1
⑧数组迭代:
foreach():对数组的每个元素执行一次提供的函数 例:arr1.forEach(function (value) { console.log(value); });
every()、some():
用于检测数组所有元素是否都符合指定条件(通过函数提供)。some(),every()方法的参数是一个回调函数,回调函数中的第一个参数是数组的元素,第二个参数是数组的索引可以不写
every():
判断回调函数中的表达式是否全部满足,如果满足,返回值就是
true,
只要有一个不满足就是
false
some
判断回调函数中的表达式是否有一个满足,如果至少一个满足,返回值就是
true
filter()
map()
⑨清空数组:
方式
1
推荐
arr = []
方式
2
arr.length = 0
方式3
arr.splice(0, arr.length)
⑩数组转化成字符串:
数组转化为字符串,以参数分割
join()
例:var a=[1,2,3,4]
console.log(
a.join("想要让数组元素分隔开的符号")
)