js常用的数组与字符串方法

字符串的常用方法

  • charAt( ) 获取指定下标处的字符
 let str = '12345'
console.log(str.charAt(0));//1
  • charCodeAt 获取下标出的字符的Unicode码
  • Unicode 给所有的字符指定了一个数字用来表示该字符
 let str = '12345'
 console.log(str.charCodeAt(1));//得到的结果为44
  • substring 根据下标范围返回字符
 let str = '12345'
console.log(str.substring(0, 2));//12
  • slice 根据下标返回指定字符串的一个片段,截取到第二个下标参数的前一个,只填写一个下标则默认截取到最后一个
 let str = '12345'
 console.log(str.slice(-3));// 345  返回最后三个字符
 console.log(str.slice(0, 4));//1234    返回从下标0-4的所有字符
  • indexOf 根据下标查找出现第一次的位置
 let str = '12345'
 console.log(str.indexOf(1));//0
  • split 根据字符串将字符串分割为子串,变为数组
 let str1 = '123,456'
console.log(str1.split(','));// ['123','456']
  • replace 全文字符替换
 let str = '12345'
console.log(str.replace('1', '9'));//92345  前面为旧值,后面为要替换到的新值
  • toLowerCase 将字符串字母全部转为小写
 let str2 = 'LOL'
 console.log(str2.toLowerCase());//lol
  • toUpperCase 将字符串字母全部转为大写
let str3 = 'lol'
 console.log(str3.toUpperCase());//LOL

下面就是数组的常用方法

  • join 用连接符将数组中所有元素转化为字符串并连接在一起,括号内为连接符,括号内为空则默认为逗号","
let arr = ['Hello', 'world']
 console.log(arr.join());//'Hello','world'
  • reverse 将数组内所有元素进行颠倒顺序
let arr = ['Hello', 'world']
 console.log(arr.reverse());//['world', 'Hello']
  • sort 数组排序
let arr1 = [1, 2, 3, 5, 6, 4]
        arr1.sort((a, b) => {
            return a - b
        })
   console.log(arr1);//1,2,3,4,5,6  b-a为降序
  • concat 创建并返回一个新数组
let arr1 = [1, 2, 3, 5, 6, 4]
console.log(arr1.concat([7, 8]));//1~8
  • slice 根据下标返回指定数组的一个片段或者子数组,截取到第二个下标参数的前一个,只填写一个下标则默认截取到最后一个
let arr1 = [1, 2, 3, 5, 6, 4]
 console.log(arr1.slice(0, 5));//1~5
  • splice 删除或者根据下标参数在数组中插入元素,第一个参数是下标,第二个是指定的个数,只填写一个下标则默认到最后一个
   let arr2 = [1, 2, 3, 4, 5]
 console.log(arr2.splice(0, 1));//[1]
 console.log(arr2.splice(2));//[4,5]
  • pop删除数组尾部的最后一个元素,返回删除的值
 let arr3 = [1, 2, 3, 4]
 console.log(arr3.pop());//4
  • push 在数组尾部添加一个或多个元素,返回数组新长度
   let arr4 = [1, 2, 3]
  console.log(arr4.push(4, 5));//5
  • shift 删除数组头部的最后一个元素,返回删除的值
 let arr4 = [1, 2, 3,]
 console.log(arr4.shift());//1
  • unshift 在数组头部添加一个或者多个元素,返回数组新长度当多个参数时,参数时一次性插入,插入元素顺序不变
 let arrayes = [1,2,3,4,5]
 console.log(arrayes .unshift([1, 2]));// 6
console.log(arrayes .unshift(1, 2));// 8
  • toString 将数组中所有元素转化为字符串并用逗号连接起来这里和不适用任何参数的join方法返回的字符串是一样的
let stringse= [1,2,3,4,56]
console.log(stringse.toString());//1,2,3,4,56
  • toLocaleString toString的本地化版本(可以自定义连接符)
let arr5 = new Date()
 console.log(arr5.toLocaleString());//2021/10/11 下午2:21:02
  • forEach遍历数组,无法在所有元素传递给调用的函数之前终止遍历,for循环可以用break ,并没有返回值
  let arr6 = [1, 2, 3]
        arr6.forEach(function (item, index, err) { //形参:第1个值,第2个索引,第3个整个数组
            console.log(item, index)
            console.log(err) //整个数组
        })
  • es6 简写-用(参数)=>{} 代替function(){}
  let arr6 = [1, 2, 3]
   arr6.forEach((item1, index1) => {
            console.log(item1, index1)// 第一个为值,第二个是下标
   		 })
  • map 也可循环遍历数组,返回的是函数组成的新数组。更多用于对数组或对象重新操作赋值等,我们可以对数组操作,获取所有数组对象中某个字段-如city
   let list = [
            {
                "name": "花疼",
                "city": "深圳",
            }, {
                "name": "马云",
                "city": "杭州",
            }, {
                "name": "建林",
                "city": "万达",
            }
        ]
        var newErr = list.map(item => {
            return item.city
        })
        console.log(newErr)// 深圳,杭州,万达
  • filter 筛选过滤方法,在vue中也有filters:{}局部过滤 和全局过滤 Vue.filter
    比如我们可以通过下面数据过滤出邮箱为 nz@qq.com
 var person = ["zn@qq.com", "nz@qq.com", "zi@qq.com"];

        var newPerson = person.filter(item => {
            console.log(item) //数组中的每个值,这里是字符串方法
            return item.indexOf('nz') != -1
        })
        console.log(newPerson)
  • indexOf 搜索整个数组中具有给定值得元素,返回第一个元素的索引,找不到就返回-1
    let sun = [0, 1, 2, 3]
   console.log(sun.indexOf(4));//-1
  • lastIndexOf() indexOf是从头到尾查找,而lastIndexOf是反向查找
 let sun = [0, 1, 2, 3]
 console.log(sun.lastIndexOf(1));
  • every 数组中的每一项元素,都符合设定的条件,返回true,否则返回false 。相当于逻辑与&&,同真为真,同假为假,一假为假。
 var inputs3 = document.querySelectorAll('input');
        var iptEvery = [...inputs3].every(item => {
            return item.checked
        })
        console.log(iptEvery) //false 只返回true/false 。
  • some 数组中的有一项元素,有一项为真,返回true。相当于逻辑或||,同真为真,同假为假,一真为真。
var inputSome = [...inputs3].some(item => {
            return item.checked
        })
        console.log(inputSome);//true
  • 数组归并方法 reduce(function(prev,cur,index,array){},传递给函数的初始值[可选])
    参数:上一个值,当前值,索引,整个数组 。该方法从数组的第一项开始,逐个遍历到最后一项。
    应用场景:
    数组求和
 var err1 = [8, 2, 3, 4];
        var res = err1.reduce((prev, cur) => {
            console.log(prev, cur) //8 2 ,10 3,13 4
            return prev + cur
        }, 0)
        console.log(res) //17 最终的和
  • es6中flat(个数) 数组扁平化
 let num = [[0, 1], [2, 3], [4, 5]]
 console.log(num.flat());//[0,1,2,3,4,5]
  • 使用 Infinity无穷尽 可任意层数展开
 let num1 = [[0, 1], [2, 3], [4, [5, 6, 7]]]
console.log(num1.flat(Infinity)); //[0,1,2,3,4,5,6,7]
  • includes 判断数组是字符包含指定的值 ,返回布尔
 let num2 = [1, 2, 3, 4]
        console.log(num2.includes(1));//true
        console.log(num2.includes(5));//false
  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值