javaScript基本——js言语精炼 第八章 数组要领

数组

array.concat

concat 要领发生一个新数组,他见谅一份array的浅复制(shallow copy)并把一个或多个参数 item 附加在厥后。假如参数 item 是一个数组,那末他的每一个元素会被离别增加。
例子:
var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a.concat(b, true);
c 变成 ['a', 'b', 'c', 'x', 'y', 'z', true]



array.join(separator)

join要领吧一个array构形成一个字符串,它先把array的每一个元素构形成一个字符串,接着用一个separator分隔符把他们连在一起。默许的separator 是逗号','。
要想做到无距离的衔接,我们能够运用空字符串作为separator。
例子:
var a = ['a' , 'b', 'c'];
a.push('d');
var c = a.join('');
c 变成 字符串 'abcd';


array.pop()

pop 和 push要领使得数组array能够像客栈stack一样事情。pop 要领移除array中的末了一个元素并返回该元素。假如该array是empty,他就会返回undefined。
var a = ['a', 'b' , 'c'];
var c = a.pop();
a 变成 ["a", "b"]
c 变成 'c'


array.push(item...)

push要领把一个或多个参数 item附加到一个数组的尾部。和concat要领差别的是,它会修正array,假如参数是一个数组,他会把参数数组作为单个元素 全部增加到数组中,并返回这个array的新长度值。
var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a.push(b, true);
a 变成了 ["a", "b", "c", Array[3], true]
c 是 a 的length, c 是 5;


array.reverse()

reverse要领反转array里的元素的递次,并返回array自身;
var a = ['a', 'b', 'c'];
var b = a.reverse();
获得的效果,b 和 a 都是 ["c", "b", "a"]


array.shift()

shift 要领移除数组array的第一个元素并返回该元素。假如这个array是空的,它会返回undefined,shift一般比pop慢很多。
var a = ['a', 'b', 'c'];
var c = a.shift();
a 变成了 ["b", "c"]
c 变成了 "a"

shift能够如许完成:
    Array.method('shift', function () {
        return this.splice(0, 1)[0];
    });


array.slice(start, end)
    slice要领对array中的一段做浅复制。起首复制array[start],一向复制到array[end]为止。end 参数是可选的,默许值是该数组的长度array.length。假如两个参数中的任何一个是负值,array.length会和他们相加,试图让他们变成非负数。假如start大于即是array.length,获得的效果将是一个新的空数组。万万别把slice 和 splice 弄混了。字符串也有一个同名的要领,string.slice
   
   
 array.sort(comparefn)
 sort要领对array的内容举行排序。他不蹦准确给一组数字排序:
 var n = [4, 8, 15, 16, 23, 42];
 javaScript的默许比较函数把被排序的元素视为字符串,它还没有充足只能到在比较这些元素之前先检测他们的范例,所以当它比较这些数字的时刻,会把他们转化为字符串,因而会获得毛病的效果。
 经由过程comparefn比较函数,比方接收两个参数a b,假如 a = b,就返回0;假如a应当在前面,就返回一个负数,假如b 在前面就返回一个正数。
 n.sort(function (a, b) {
     return a - b;
 });
 获得[4, 8, 15, 16, 23, 42];
 
 
 array.splice(start, deleteCount, item...)
 
 splice要领从array中移除一个或多个元素,并用新的item替代他们。参数start是从数组array中移除元素的最先位置。参数deleteCount是要移除的元素个数。假如有分外的参数,那些item会插进去到被移除元素的位置上,它返回一个包括被移除元素的数组。
 
 
 array.unshift(item...)
 shift 要领像 push 要领一样,用于把元素增加到数组中,但它是把item插进去到array的最先部份而不是尾部,它返回array的新的length:
 var a = ['a', 'b', 'c'];
 var r = a.unshift('?', '@');
 a 变成了 ["?", "@", "a", "b", "c"] 
 r 变成了 5
 
 
 
    


    原文作者:aprildove
    原文地址: https://segmentfault.com/a/1190000006741793
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞