js数组、字符串常用api

本文深入讲解JavaScript数组的各种操作方法,包括拼接、截取、插入、替换、删除等,并介绍了位置方法、遍历方法及字符串处理技巧。通过具体示例,帮助读者掌握数组和字符串的高效使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 数组

    • 1.操作方法
      var arr = [1, 2, 3, 4, 5, 6, 7];
      • concat() 拼接数组,返回新数组,不会改变原数组
        var newArr = arr.concat([8, 9]); // newArr: [1, 2, 3, 4, 5, 6, 7, 8, 9] arr:[1, 2, 3, 4, 5, 6, 7]
      • slice() 截取数组,返回新数组,不会改变原数组(含头不含尾 )
        var newArr = arr.slice(1, 4); // newArr: [2, 3, 4] arr: [1, 2, 3, 4, 5, 6, 7];
      • splice() 插入,替换,删除,会改变原数组,如果是删除,返回删除项的数组
        插入:arr.splice(1, 0, 2, 3) 三个参数,第一个参数需要插入元素位置的下标,第二个参数删除的数量0,后面的参数是需要插入的元素 arr:[1, 2, 3, 2, 3, 4, 5, 6, 7];
        替换: arr.splice(3, 1, 9) 三个参数,第一个需要替换元素的下标,第二个删除的数量,第三个参数是插入的元素
        删除: arr.splice(2, 3) 两个参数:第一个参数从哪个位置开始删除,第二个参数删除的数量
      • join() 用指定连接符将数组中元素连接成字符串,不会更改原数组,返回连接后的结果
        var str = arr.join(’=’); str: 1=2=3=4=5=6=7
      • unshift() 在数组开头插入元素,修改原数组,返回值为新数组长度
        var len = arr.unshift(8,9) arr:[8, 9, 1, 2, 3, 4, 5, 6, 7] len: 9 arr.length
      • shift() 弹出最开头的元素,修改原数组,返回弹出的元素
        var new = arr.shift() new : 1 arr: [2, 3, 4, 5, 6, 7]
      • push() 在数组末尾追加元素,修改原数组,返回值为新数组长度
        var len = arr.push(8) len: 8 arr: [1,2, 3, 4, 5, 6, 7, 8]
      • pop() 弹出最末尾的元素,修改原数组,返回弹出元素
        var new = arr.pop() new :7 arr: [1, 2, 3, 4, 5, 6]
    • 2.位置方法
      var arr = [1, 2, 3, 2, 3, 1]
      • indexOf() 从头到尾查找第一个匹配项的下标,找到返回下标,找不到返回-1
        var index = arr.indexOf(2); index: 1
      • lastIndexOf() 从尾到头查找第一个匹配项的下标,找到返回下标,找不到返回-1
        var index = arr.lastIndexOf(2) index: 3
    • 3.遍历方法
      var arr = [1, 2, 3, 2, 3, 1]
      • every() 对数组的每一项运行指定函数 如果每一项都是true,则为true,返回值是true或false
        var bol = arr.every(function(item) {
        return item > 1
        })
        bol : false
      • some() 对数组每一项运行指定函数,如果数组任意一项为true,则返回true,返回值为true或false
        var bol = arr.some(function(item) {
        return item > 1
        })
        bol : true
      • filter() 对数组每一项运行指定函数,返回该函数中返回true的项组成的数组,返回值为符合条件的数组
        var newArr = arr.filter(function(item) {
        return item > 1
        })
        newArr: [2, 3, 2, 3]
        arr = [‘张天佑’,‘天佑’,‘天’,‘右’];
        var newArr = arr.filter(function(item) {
        return item.indexOf(‘天’) != -1
        })
        newArr: [‘张天佑’,‘天佑’,‘天’];
      • map() 对数组每一项运行指定函数,返回每次函数调用的结果组成的数组
        var newArr = arr.map(function(item) {
        return item*2
        })
        map做字符串拼接注意:1.map返回值是数组,需要.join(’’)
        newArr: [2, 4, 6, 4, 6, 2]
      • forEach() 对数组每一项运行指定函数,无返回值,类似于for
        var str = ''必须放在循环外 .innerHtml 也写在循环外
  • 字符串
    str.slice() 截取字符串,不会修改原字符串,返回新字符串
    str.split() 分割字符串,不会修改原字符串,返回分割后的数组
    var str = name=zhang&age=20 要求取出20
    str.split(’=’)[2] str.split("&")[1].split(’=’)[1] str.split(‘age=’)[1]
    str.indexOf() 从头到尾查找找到的第一个符合项的下标,返回找到的下标,找不到返回-1
    str.lastIndexOf() 从尾到头查找找到的第一个符合项的下标,返回找到的下标,找不到返回-1
    str.trim() 去掉字符串前后的空格
    str.toUpperCase() 转大写,不会修改原字符串,返回转变后的字符串 aaa->AAA
    str.toLowerCase() 转小写,不会修改原字符串,返回转变后的字符串 AAA->aaa

    • 字符串的四种查找方法
      • str.indexOf(value[, from])
        var str = “不会修改原字符串,返回转变后的字符串”;
        var index = str.indexOf(‘字符串’); 5
        var index = str.indexOf(‘字符串’, 8);
        var arr = [];
        var start = 0;
        do{
        var index = str.indexOf(‘字’, start);
        if (index != -1) {
        arr.push(index);
        start = index + 1
        } else {
        break;
        }
        }while(true)
        • 只能查找第一个匹配的位置,没找到返回-1,可用循环改变from查所有
      • str.search(reg)
        • 仅判断有没有
        • 只返回第一个匹配的位置,没找到返回-1
        • 支持正则(不支持g,因为只匹配第一个,支持i)
      • str.match(reg)
        • 返回所有匹配正则的字符串组成的数组,没有返回null
        • 支持正则,表达式必须带g,才能返回所有匹配的字符串组成的数组
      • str.exec(reg)
        • 既能找到关键词的位置,又能获取内容
        • 支持正则,没有返回null
        • 若要查找所有,正则必须加g,而且要放到循环内
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值