concat()
衔接数组
概要
array.concat(value, ...)
参数
value, ...
任意个需要衔接到array
中的值。
返回值
一个新数组,包含array
的元素以及衔接的新元素。
描述
concat
会将参数衔接到array
中得到一个新数组并返回。它不会修改array
。如果传给concat()
的某个参数本身是一个数组,则会将该数组的元素衔接到array
中,而不是数组本身。
示例
var a = [1, 2, 3]
a.concat(4, 5) // => [ 1, 2, 3, 4, 5 ]
a.concat([4, 5]) // => [ 1, 2, 3, 4, 5 ]
a.concat([4, 5], [6, 7]) // => [ 1, 2, 3, 4, 5, 6, 7 ]
a.concat(4, [5, [6, 7]]) // => [ 1, 2, 3, 4, 5, [ 6, 7 ] ]
every()
测试断言函数是否对每个元素为真。
概要
array.every(predicate)
array.every(predicate, o)
参数
predicate
用来测试数组元素的断言函数。
o
调用predicate
时的可选this
值。
返回值
如果对array
的每一个元素调用predicate
时都返回真值,则返回true
。否则返回false
。
描述
every
方法用来测试数组的所有元素是否都满足某些条件。他会按照序号从小到大的顺序遍历array
的元素,并对每个元素调用指定的predicate
函数。如果predicate
返回false
(或任何可以转化为false
的值),则every()
会停止遍历,立即返回false
。否则返回true
。
对数组中的每一个序号i
,调用rpedicate
时带有三个参数:
predicate(array[i], i , array)
predicate
的返回值会当作布尔值解析。true
和所有针织表示该数组元素通过了测试或者说满足该函数的所描述的条件。
如果返回值为aflse
或假值,则表示数组元素没有通过测试。
示例
[1, 2, 3].every(x => x < 5) // => true 所有元素都小于五
[1, 2, 3].every(x => x < 3) // => false 不是所有元素都小于三
[].every(x => false) // => true []总是返回trues
join()
String.split()
的逆向操作。
var a = [1, 2, 3];
a.join("-"); // => '1-2-3'
var b = new Array(10);
b.join(" "); // =? ' ':九个空格
reverse
逆序重排原数组。
var a = [1, 2, 3];
a.reverse().join() // => '3,2,1' 且现在 a 是[3, 2, 1]
sort()
返回数组中排序返回后的数组。 不带参数时将转化为字符串以字母表顺序排序:
var a = new Array('banana', 'cherry', 'apple);
a.sort().join(); // => 'apple, banana, cherry'
如果包含undefined元素,会被排到数组的尾部。
可以为sort()
方法传递一个比较函数。
如果第一个参数应该排在前面,则该函数应该返回小于0;
如果第一个参数应该排在后面,则该函数应该返回大于0;
顺序无关紧要则返回0:
var a = [22, 1, 4444, 333]
a.sort(function(a, b){
return (a + '').length - (b + '').length // => '[ 1, 22, 333, 4444 ]'
})
slice()
返回制定数组的一个片段或子数组。 可以传入两个参数,分别为开始于结束的位置。 请注意一个参数,参数带负数的情况:
var a = [1, 2, 3, 4, 5]
a.slice(0, 3) // => [ 1, 2, 3 ]
a.slice(3) // => [ 4, 5 ]
a.slice(1, -1) // => [ 2, 3, 4 ]
a.slice(-4, -1) // => [ 2, 3, 4 ]
a.slice(-3, -2) // => [3]
splice()
在数组中插入或删除元素的通用方法。
splice()
会修改调用的数组。再插入或删除后数组会更新索引值。
第一个参数指定了起始位置。
第二个参数删除元素的个数。
返回一个由删除元素组成的数组,若没有删除,则返回一个空数组:
var a = [1, 2, 3, 4, 5, 6, 7, 8]
a.splice(4); // => [ 5, 6, 7, 8 ]
a.splice(1, 2); // => [2, 3]
a.splice(1, 1); // => [4]
console.log(a); // => [1]
紧随其后的任意个数的参数指定了需要插入到数组中的元素, 从第一个参数制定的位置开始插入:
var a = [1, 2, 3, 4, 5]
a.splice(2, 0, 'a', 'b') // => 返回[],此时 a 为[1, 2, 'a', 'b', 3, 4, 5]
a.splice(2, 2, [1, 2], 3) // => 返回['a', 'b'],此时 a 为[1, 2, [1, 2], 3, 3, 4, 5]
push() 与 pop()
将数组当作栈来使用。
push()
未完待续