数组常用方法(基础类型)

==================== 增删 ====================

pop        删除数组中最后一个元素并返回

                会改变数组的长度,并返回删除的元素

var arr1 = [1, 2, 3, 4, 5]

console.log(arr1.pop());
// 结果为 5

console.log(arr1);
// 结果为 [1, 2, 3, 4]

push        向数组末尾添加一个或多个元素,并返回新的长度

                改变数组长度

var arr1 = [1, 2, 3, 4, 5]

arr1.push(6, 7, 8)

console.log(arr1);
// 结果为 [1, 2, 3, 4, 5, 6, 7, 8]

shift         把数组的第一个元素从其中删除,并返回第一个元素的值

                改变数组长度

var arr1 = [1, 2, 3, 4, 5]

console.log(arr1.shift());
//结果为 1

console.log(arr1);
// 结果为 [2, 3, 4, 5]

unshift         向数组的开头添加一个或者更多元素,并返回新的长度

                改变数组长度

var arr1 = [1, 2, 3, 4, 5]

arr1.unshift(6, 7, 8)

console.log(arr1);
// 结果为: [6, 7, 8,1, 2, 3, 4, 5]

==================== 截取 ====================

splice         添加或删除数组中的元素

                改变组长度

                arr.splice( 参数1 , 参数2, 参数3 )

                        参数1:开始的索引位置(不包含)

                        参数2:删除索引往后的个数

                        参数3:添加的新内容,可以是多个

var arr1 = ["a", "b", "c", "d", "e", "f"]

arr1.splice(2, 2)
// 结果
var arr1 = ["a", "b", "e", "f"]

arr1.splice(2, 0, 'g', 'h')
// 结果
var arr1 = ["a", "b", 'g', 'h', "e", "f"]

slice         从已有的数组中返回选定的元素

        截取数组

                不改变数组长度

                arr.splice( 参数1 , 参数2 )

                        参数1:开始的索引位置(包含)

                        参数2:结束的索引位置(不包含)

// =======  正数使用  ==========
        var arr1 = [0, 1, 2, 3, 4]

        var a = arr1.slice(2, 4)

        console.log(a);
        // 结果为 [2,3]

// ========  负数使用  =========
        var arr1 = [0, 1, 2, 3, 4]

        // 索引:arr1 = [-4,-3,-2,-1,-0]
        var a = arr1.slice(-3, -2)

        console.log(a);
        // 结果为 [2]

        截取字符串

                  可提取部分字符串的某个部分,并以新的字符串返回被提取的部分(不改变长度)

                    str.splice( 参数1,参数2 )

                           参数1:开始位置(不包含),只给参数1就从开始位置一直提取到末尾并返回

                            参数2:结束位置(包含)

var str = "www.baidu.com"

console.log(str.slice(5));
// 结果为 "aidu.com"

console.log(str.slice(5, 7));
// 结果为 "ai"

==================== 排序 ====================

reverse        颠倒数组中元素的顺序

                不改变原数组

var str = ['a', 'b', 'c', 'd', 'e']

var a = str.reverse()

console.log(a);
// 结果为 ['e','d','c','b','a']

sort        对数组的元素进行排序

                会改变原数组

        数字的 升 / 降 排序

                使用时,定义一个方法,传入两个参数( a , b )

                当 a - b 时为从小到大排序

                当 b - a 时为从大到小排序

 // 降序
        var arr = [40, 100, 1, 5, 25, 10];

        arr.sort(function (a, b) { return b - a });

        console.log(arr);
        // 结果为 [100, 40, 25, 10, 5, 1]


 // 升序
        var arr = [40, 100, 1, 5, 25, 10];

        arr.sort(function (a, b) { return a - b });

        console.log(arr);
        // 结果为 [1, 5, 10, 25 ,40 ,100]

        字母的 升 / 降 排序

                直接使用方法即可,默认为升序,可以用 reverse() 反转为降序

var str = ["Banana", "Orange", "Apple", "Mango"];

var a = str.sort();

console.log(a);
// 结果为 ["Apple", "Banana", "Mango", "Orange"]

var b = a.reverse();

console.log(b);
// 结果为 ["Orange", "Mango", "Banana", "Apple"]

==================== 连结 / 拼接 ====================

concat        连接两个或多个数组

        不会改变现有数组,而仅仅会返回连接数组的一个副本

var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];

var children = hege.concat(stale, kai);

console.log(children);
// 结果为 ["Cecilie", "Lone","Emil", "Tobias", "Linus","Robin"]

==================== 状态 ====================

join        将数组内所有元素转为一个字符串

        通过特定的字符串将数组内的元素拼接

var fruits = ["Banana", "Orange", "Apple", "Mango"];

var energy = fruits.join(" and ");

console.log(energy)
// 结果为 " Banana and Orange and Apple and Mango "

split         把一个字符串分割成字符串数组

        不改变原字符串

var str = "How are you doing today?";

        // 分割每一个字母,包括空格
        var n = str.split("");
        console.log(n);
        // 结果为 ["H", "o", "w", " ", "a", "r", "e", " ", "y", "o", "u", " ", "d", "o", "i", "n", "g", " ", "t", "o", "d", "a", "y", "?"]

        // 通过特定的字符分割,并取指定个数
        var n = str.split(" ", 3);
        console.log(n);
        // 结果为["How", "are", "you"]
 
        // 通过某个特定的字母进行分割
        var n = str.split("o");
        console.log(n);
        // 结果为 ["H", "w are y", "u d", "ing t", "day?"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值