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

1.slice()方法

    var alphabets=['a','b','c','d','e']
    var letter=alphabets.slice(0,4)
    var letter2=alphabets.slice(1,3)
    console.log(letter);  //输出结果   ['a', 'b', 'c', 'd']
    console.log(letter2);  //输出结果  ['b', 'c']
  • 从已有的数组中返回选定的元素
  • 提取字符串的某个部分,并以新的字符串返回被提取的部分。
  • 语法: array.slice(start, end) 返回的新数组包含start, 不包含end

2.split()方法

   var str='hello world!'
    var newStr=str.split('')
    var newStr1=str.split('o')
    var newStr2=str.split(' ')
    console.log(newStr);  //输出结果  ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!']
    console.log(newStr1);  //输出结果   ['hell', ' w', 'rld!']
    console.log(newStr2);  //输出结果   ['hello', 'world!']
  • 把一个字符串分割成字符串数组
  • 语法: string.split(separator,limit) separator分隔符,limit位数

3.splice()方法

    var alphabets=['a','b','c','d','e']
    var newArray=alphabets.splice(2,2) //从2开始截取2个
    console.log(newArray); //输出结果 ['c', 'd'] //截取结果
    console.log(alphabets); //输出结果 ['a', 'b', 'e'] //删除结果
    var alphabets1=['a','b','c','d','e']
    var newArray1=alphabets1.splice(2,2,'f','g')
    console.log(alphabets1); //输出结果 ['a', 'b', 'f', 'g', 'e']
  • 直接截取原数组

4.reduce()方法

回调函数参数(prev,next,index,currenArr)
1.perv代表上一次调用回调时的返回值,或者初始值init。
2.next代表当前正在处理的数组元素.
3.index代表当前执行元素的下标.
4.currentArr代表当前循环的数组元素
  • 数组求和
 let arr=[2,3,4,5]
 let result =arr.reduce((prev,next)=>{
     return prev + next
 })
 console.log(result); //14
  • 数组对象求和
let arr=[{name:'动物园',price:50},{name:'植物园',price:20},{name:'博物馆',price:70},{name:'天文馆',price:92}]
let priceSum=arr.reduce((prev,next)=>{
    return prev + next.price
},0)
console.log(`总价格是:${priceSum}`);//总价格是:232
  • 数组去重
let arr = [1,3,4,3,4,2,1,5,6];
let result = arr.reduce((prev,next)=>{
    if(!prev.includes(next)){
        prev.push(next);
    }
    return prev
},[])
console.log(result);// [1, 3, 4, 2, 5, 6]
  • 每个元素出现次数
let result = arr.reduce((prev,next)=>{
  next in prev ? ++prev[next] :prev[next]=1
  return prev
},{})
console.log(result);// {味: 2,子: 2,小: 1,橘: 2,犬: 1,的: 1}

5.map()方法

  var numList = [1, 2, 3, 4, 5, 6, 7];
  var newArray = [];
  numList.map((item) => {
    newArray.push(++item);
  });
  console.log(newArray); //输出结果 [2, 3, 4, 5, 6, 7, 8]
  
  var arrayObj = [
    { name: "小明", age: 16, sex: "男" },
    { name: "小红", age: 17, sex: "女" },
    { name: "小白", age: 18, sex: "女" },
  ];
 const map1= arrayObj.map((item)=>{
    return item.name 
 })
 console.log(map1); //输出结果 ['小明', '小红', '小白']
  • 根据原数组调用函数处理过的值返回一个新的数组

6.every()方法

  • every 方法会对数组的每一项都进行一次callback 回调函数
  • 数组的每一项都满足回调函数的条件返回true,当遇到不符合条件时项会即刻返回false
  • 判断数组是否每一项都满足指定条件

7.some()方法

  • 返回布尔值
  • 判断数组是否有一项满足指定条件

8.forEach()方法

  • 没有返回值
  • 不能主动跳出循环

9.filter方法

  • 返回过滤后新的数组

10.find()方法

  • 返回符合条件的对象后面不再执行(返回第一个符合条件的对象)
  • 没有符合条件的返回-1

11.findIndex()方法

  var array = [1, 2, 3, 4, 5, 6];
  var newArray = array.findIndex((item) => {
    return item == 3;
  });
  console.log(newArray); //输出结果 2
  var list = [
    { lable: "a", name: "张三" },
    { lable: "b", name: "李四" },
    { lable: "c", name: "王明" },
    { lable: "d", name: "李华" },
  ];
  const index = list.findIndex((item)=>item.lable === 'f')
  console.log(index); //输出结果 -1
  • 返回符合条件的下标,后面不再执行
  • 没有符合条件的返回-1

12.includes()方法

  • 返回布尔值
  • 判断数组中是否包含指定值

13.new Set()方法

  • 数组去重
var set =new Set([1,1,2,3,4,4]);
[...set]   //[1,2,3,4]
  • set的属性和方法
set.size
set.add(value)  //添加 返回set结构自身
set.delete(value) //删除 返回布尔
set.has(value) //判断set结构是否有此值  返回布尔
set.clear() //清除所有值 没有返回值

keys():返回键名的
values():返回键值
entries():返回键值对
forEach():使用回调函数遍历每一项
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JavaScript数组字符串都是常见的数据类型,它们都有一些方法来操作它们。下面是它们常用方法的对比: 1. 长度 数组:使用 `length` 属性返回数组元素的数量。 ``` let arr = [1, 2, 3, 4, 5]; console.log(arr.length); // 5 ``` 字符串:使用 `length` 属性返回字符串的长度。 ``` let str = "Hello"; console.log(str.length); // 5 ``` 2. 截取 数组:使用 `slice()` 方法截取数组的一部分,并返回一个新的数组。 ``` let arr = [1, 2, 3, 4, 5]; let newArr = arr.slice(1, 3); console.log(newArr); // [2, 3] ``` 字符串:使用 `substring()` 或 `substr()` 方法截取字符串的一部分,并返回一个新的字符串。 ``` let str = "Hello, World!"; let newStr = str.substring(0, 5); console.log(newStr); // "Hello" let newStr2 = str.substr(0, 5); console.log(newStr2); // "Hello" ``` 3. 拼接 数组:使用 `concat()` 方法将多个数组合并成一个,并返回一个新的数组。 ``` let arr1 = [1, 2]; let arr2 = [3, 4]; let newArr = arr1.concat(arr2); console.log(newArr); // [1, 2, 3, 4] ``` 字符串:使用 `concat()` 方法将多个字符串合并成一个,并返回一个新的字符串。 ``` let str1 = "Hello, "; let str2 = "World!"; let newStr = str1.concat(str2); console.log(newStr); // "Hello, World!" ``` 4. 查找 数组:使用 `indexOf()` 或 `lastIndexOf()` 方法查找数组指定元素的位置。 ``` let arr = [1, 2, 3, 2, 1]; console.log(arr.indexOf(2)); // 1 console.log(arr.lastIndexOf(2)); // 3 ``` 字符串:使用 `indexOf()` 或 `lastIndexOf()` 方法查找字符串指定子串的位置。 ``` let str = "Hello, World!"; console.log(str.indexOf("o")); // 4 console.log(str.lastIndexOf("o")); // 8 ``` 5. 替换 数组:使用 `splice()` 方法替换数组的元素。 ``` let arr = [1, 2, 3, 4, 5]; arr.splice(2, 1, "a", "b"); console.log(arr); // [1, 2, "a", "b", 4, 5] ``` 字符串:使用 `replace()` 方法替换字符串的子串。 ``` let str = "Hello, World!"; let newStr = str.replace("World", "JavaScript"); console.log(newStr); // "Hello, JavaScript!" ``` 总的来说,数组字符串都有一些相似的方法,但是也有一些不同的方法。需要根据具体的场景选择使用哪种方法

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

♡ 小宸轩的前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值