js常用的处理数组和字符串的方法

本文详细介绍了JavaScript中数组的各种操作方法,包括合并、添加、删除、排序、反转、截取、更新等,并通过实例展示了每种方法的使用。此外,还讲解了字符串的长度获取、字符定位、拼接、分割、截取和大小写转换等常见操作,以及如何将字符串转换为数字。这些内容对于理解和操作JavaScript中的数组和字符串至关重要。

1.数组方法

(1) 合并数组:concat 

(2) 指定字符数组转字符串:join      join() 括号中写拼接符号

(3) 添加元素操作:push()尾部 和unshift()头部

(4) shift() & pop() 删除元素操作    

 /*/     shift删除数组首位元素,pop删除数组末尾元素

(5) sort() 数组排序,改变原数组

 var arr = [19,23,39,10]
    var newArr = arr.sort((a,b)=>{
        // a-b从小到大,b-a从大到小
      return a-b
    })
    console.log(newArr);

(6) reverse() 反转数组,改变原数组

(7) slice() 截取数组,不改变原数组    

 var arr = [
        {name:"张三",age:19},
        {name:"小四",age:19},
        {name:"王五",age:20},
        {name:"赵六",age:19}
    ]
    //第一个参数为下标,第二个参数也是下标,如果下标是负数,就会从尾部开始读取
     var result = arr.slice(1,2)
    console.log(result);

(8) splice() 更新数组,改变原数组

 var arr = [19,23,39,10]
 //一参为下标,二参为长度,第三个参数为要替换的内容,一般只用来删除,不用来替换
 arr.splice(1,1,"李四")
 console.log(arr)

(9) indexOf() & lastIndexOf() 索引方法,不改变原数组

(10) find() & findIndex() 根据函数内的判断返回找到的数组内的第一个元素。不改变原数组。 (es6新增方法)

 var arr = [19,23,39,10]
// 只要找到一个值就返回当前值,后面满足条件的不返回
    var num = arr.find((item)=>{
        return item>20
    })
    console.log(num);
 var num2 = arr.findIndex((item)=>{
        // 查找满足条件的内容,存在返回当前下标,不存在返回-1
        // return item==25
        return item==23
    })
    console.log(num2);

(11) forEach()、map()、filter()、some()、every() 迭代方法,不改变原数组。

  var arr = [
        {name:"张三",age:19},
        {name:"小四",age:19},
        {name:"王五",age:20},
        {name:"赵六",age:19}
    ]
    // item代表数组的每一项,index代表下标,arr代表数组本身
    // 一般后面两个参数用不到
    arr.forEach((item,index,arr)=>{
        console.log(item);
        console.log(index);
        console.log(arr);
    })
 var arr2 = [12,45,24,10]
 // map方法用于对数组当中每一项进行相同的逻辑处理
   var newArr =  arr2.map((item)=> item%10)
   console.log(newArr);
var arr = [19,23,39,10]
 // 筛选满足条件的内容,返回一个新的数组
     var newArr = arr.filter(item=>{
        return item>20
     }) 
     console.log(newArr);

2.字符串

(1) 获取字符串长度:length

(2) 获取字符串指定位置的值:charAt() 方法获取到的是指定位置的字符

(3) 查询是否包含某字符:indexOf、lastIndexOf、includes、search。

  var str = "abchpl"
    //  查找字符串中是否有该字符,有就返回true,没有就返回false
       console.log(str.includes("a"));

(4) 字符串拼接:出了使用+号,应该使用concat

(5) 字符串分割成数组:split

(6) 截取字符串:substr()、substring()和 slice()

(7) 字符串大小写转换:toLowerCase转小写、toUpperCase转大写

  var str = "abchpl"
    //  将字母转为大写
    //   str =  str.toUpperCase()
       //  将字母转为小写
      str = str.toLowerCase()
     console.log(str);

(8) 字符串转数字:parseInt转整数、parseFloat转小数

JavaScript 中,数组字符串是两种非常常用的数据类型,它们各自拥有一系列操作方法。以下是关于数组字符串常用方法总结。 ### 数组常用方法 数组方法通常会修改原始数组或者返回新的数组结果。以下是一些常见的数组方法: - **sort()**:用于对数组的元素进行排序。默认情况下,`sort()` 会将元素转换为字符串并按字母顺序排序。如果需要按照数值大小排序,则必须提供一个比较函数作为参数。例如: ```javascript const numbers = [10, 2, 8]; numbers.sort((a, b) => a - b); // 排序后得到 [2, 8, 10] ``` 这种排序方式会根据比较函数的结果来决定元素的位置,从而实现升序或降序排列[^1]。 - **slice(start, end)**:返回一个新的数组,包含从 `start` 到 `end`(不包括 `end`)的元素。 ```javascript const fruits = ['apple', 'banana', 'cherry']; const citrus = fruits.slice(0, 2); // 返回 ['apple', 'banana'] ``` - **splice(index, howMany, [element1][, ...])**:可以用来删除或添加数组中的元素。此方法会修改原始数组。 ```javascript const colors = ['red', 'green', 'blue']; colors.splice(1, 0, 'yellow'); // 在索引1处插入'yellow' ``` - **map(callback)**:创建一个新数组,其结果是对原数组中每个元素应用一次提供的函数后的结果。 ```javascript const squares = [1, 2, 3].map(x => x * x); // 得到 [1, 4, 9] ``` - **filter(callback)**:创建一个新数组,包含所有通过测试的元素。 ```javascript const evenNumbers = [1, 2, 3, 4].filter(n => n % 2 === 0); // 得到 [2, 4] ``` - **reduce(callback, initialValue)**:对数组中的每个元素执行一个由您提供的 reducer 函数(从左到右),最终得到一个单一的输出值。 ```javascript const sum = [1, 2, 3].reduce((acc, curr) => acc + curr, 0); // 得到 6 ``` ### 字符串常用方法数组不同的是,字符串方法不会修改原始字符串,而是返回一个新的字符串。 - **slice(start, end)**:类似于数组的 `slice` 方法,返回指定范围内的子字符串。 ```javascript const str = 'Hello world'; const subStr = str.slice(0, 5); // 返回 'Hello' ``` - **substring(start, end)**:与 `slice` 类似,但是它不接受负数参数。 ```javascript const subStr = str.substring(0, 5); // 返回 'Hello' ``` - **indexOf(searchValue, fromIndex)**:查找子字符串的位置,如果找不到则返回 `-1`。 ```javascript const index = str.indexOf('world'); // 返回 6 ``` - **includes(searchString)**:检查是否包含某个子字符串,返回布尔值。 ```javascript const hasWorld = str.includes('world'); // 返回 true ``` - **split(separator, limit)**:按照分隔符分割字符串,并返回一个数组。 ```javascript const words = str.split(' '); // 返回 ['Hello', 'world'] ``` - **replace(old, new)**:替换第一个匹配项,支持正则表达式。 ```javascript const newStr = str.replace('world', 'JavaScript'); // 返回 'Hello JavaScript' ``` - **toUpperCase()** **toLowerCase()**:分别将字符串转换为全大写或全小写形式。 ```javascript const upperStr = str.toUpperCase(); // 返回 'HELLO WORLD' ``` - **trim()**:去除字符串两端的空白字符。 ```javascript const trimmedStr = ' Hello world! '.trim(); // 返回 'Hello world!' ``` 这些方法只是冰山一角,但它们构成了处理数组字符串的基础工具集。了解这些方法可以帮助开发者更有效地操作数据结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值