数组方法及字符串方法总结

数组方法及字符串方法总结


数组方法


1)forEach

语法:数组.forEach(function(数组的每一项元素,[元素对应的索引]){})

作用:用来遍历数组

返回值:没有返回值,不会影响原数组

letstr=''

arr.forEach(item=> {

const { name, picture, price } =item

str+=`

<div class="item">

<img src=${picture}alt="">

<p class="name">${name}</p>

<p class="price">${price}</p>

</div>

`

})

document.querySelector('.list').innerHTML=str

2)filter

语法:数组.filter(function(item, [ index ]){return筛选条件)

作用:筛选数组中符合条件的元紊

返回值:有返回值,返回值是一个数组,包含的是符合筛选条件的元素,不影响原数组

constarr=goods.filter(item=> {

console.log(item);

const { price } =item

returnprice>100&&price<1000

})

console.log(arr);

3)map

语法: arr.map(function(item,index){}) item数组元素 index下标

作用:迭代数组,经常用于处理数据

返回值:map返回一个新数组,数组元素就是return后面的值

constres=goodsList.map(item=> {

const { name, price, picture } =item

return`

<div class="item">

<img src="${picture}" alt="">

<p class="name">${name}</p>

<p class="price">${price}</p>

</div>

`

})

document.querySelector('.list').innerHTML=res.join('')

4)reduce

语法: arr.reduce(function(累计值,当前元素,[索引号],[源数组]){},起始值)

作用: 累计器 常用于求和,不是只能求数组的和

累计值参数:

1.如果有起始值,则以起始值为准开始累计,累计值=起始值

2.如果没有起始值,则累计值以数组的第一个数组元素作为起始值开始累计

3.后面每次遍历就会用后面的数组元素累计到累计值里面

constarr= [3, 5, 7]

constres=arr.reduce(function (prev, item) {

console.log(`累计值是${prev},数组的每一项是${item}`)

returnprev+item

})

console.log(res);

5)find

语法:数组.find(function(item, [index]){return查找的条件})

作用:查找数组中符合条件的元素

返回值:如果查找到,那么返回的是符合条件的第一个元素如果查找不到,那么返回的结果是undefined

consthv=goods.find(item=>item.name==='华为')

console.log(hv);

6)some

语法:数组.some(function( item, [index] ){return条件})

作用:判断数组中是否有符合条件的元素

返回值:是一个布尔值 如果数组只要有一个元素符合条件则为true 一个复合条件的都没有 则返回false

constarr= [1, 2, 3, 4, 5, 6]

constres=arr.some(item=>item>5)

console.log(res);

7)every

语法:数组.every(function( item, [index] ){return条件})

作用:判断数组中是否所有的元素都符合条件

返回值:是一个布尔值 如果数组的每一项元素都符合条件,那么返回的结果是true

constarr= [22, 33, 44, 55]

constres=arr.every(item=>item%11===0)

console.log(res);

8)join

语法:数组.join()

作用:方法将一个数组的所有元素连接成一个字符串并返回这个字符串,用逗号或指定的分隔符字符串分隔。

返回值:一个所有数组元素连接的字符串。如果 arr.length 为 0,则返回空字符串。

注意:如果省略,数组元素用逗号分隔。如果是空字符串(""),则所有元素之间都没有任何字符。

consta= ['Wind', 'Water', 'Fire'];

a.join(); // 'Wind,Water,Fire'

a.join(''); // 'WindWaterFire'

9)sort

语法:sort(function XX(a, b) { })

作用:对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的 UTF-16 代码单元值序列时构建的

返回值:排序后的数组。请注意,数组已原地排序,并且不进行复制。

constmonths= ['March', 'Jan', 'Feb', 'Dec'];

months.sort();

console.log(months);

// expected output: Array ["Dec", "Feb", "Jan", "March"]

10)reverse

语法:数组.reverse()

作用:将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组返回值:颠倒后的数组

consta= [1, 2, 3];

console.log(a); // [1, 2, 3]

a.reverse();

console.log(a); // [3, 2, 1]

11)concat

语法:数组1.concat(数组2, , * … ,* 数组N)

作用:concat() 方法用于合并两个或多个数组。

返回值:此方法不会更改现有数组,而是返回一个新数组。

constletters= ['a', 'b', 'c'];

constnumbers= [1, 2, 3];

constres=letters.concat(numbers);

console.log(res);

// results in ['a', 'b', 'c', 1, 2, 3]

合并数组的另一个办法展开运算符

constarr1= [1, 2, 3]

constarr2= [4, 5, 6]

constarr3= [...arr1, ...arr2]

console.log(arr3);

12)splice

语法:数组.splice(start, deleteCount, item1, item2, itemN)

作用:删除或替换现有元素或者原地添加新的元素,并以数组形式返回被修改的内容。此方法会改变原数组。

返回值:由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。

注意第一个参数是修改开始的索引号;第二个参数表示要移除的数组元素的个数,如果不写第二个参数默认删除start后面的所有元素;item1, item2(可不写)表示要新添加的元素

constmonths= ['Jan', 'March', 'April', 'June'];

months.splice(1, 0, 'Feb');

console.log(months);

//expected output: Array ["Jan", "Feb", "March", "April", "June"]

13)push

语法:数组.push(element0, element1, … , elementN)作用:push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。返回值:当调用该方法时,数组新的 length 值将被返回。

constsports= ["soccer", "baseball"];

consttotal=sports.push("football", "swimming");

console.log(sports);

// ["soccer", "baseball", "football", "swimming"]

14)unshift

语法:数组.unshift(element0, element1, … , elementN)作用:将一个或多个元素添加到数组的开头,并返回该数组的新长度。返回值:返回该数组的新长度。

constarray1= [1, 2, 3];

console.log(array1.unshift(4, 5));

// expected output: 5

console.log(array1);

// expected output: Array [4, 5, 1, 2, 3]

15)pop

语法:数组.pop()作用:从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度。返回值:从数组中删除的元素(当数组为空时返回undefined)

plants= ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];

console.log(plants.pop());

// expected output: "tomato"

16)shift

语法:数组.shift()作用:从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度返回值:从数组中删除的元素; 如果数组为空则返回undefined 。

constarray1= [1, 2, 3];

constfirstElement=array1.shift();

console.log(array1);

// expected output: Array [2, 3]

console.log(firstElement);

// expected output: 1

17)findIndex

语法:findIndex(function(element, index, array){})

作用:数组中满足提供的测试函数的第一个元素的索引。

返回值:返回数组中通过提供测试函数的第一个元素的索引。否则,返回 -1

与find区别 find() 方法,它返回数组中找到的符合条件的第一个元素的值,而不是其索引

constarr= [5, 12, 8, 130, 44];

constnum=arr.findIndex((item) =>item>13);

console.log(num);//3

字符串方法


1)trim

语法:字符串.trim()

作用:从字符串的两端清除空格,返回一个新的字符串,而不修改原始字符串。

返回值:返回一个表示 str 去掉了开头和结尾的空白字符后的新字符串。

constgreeting=' Hello world! ';

console.log(greeting);

// expected output: " Hello world! ";

console.log(greeting.trim());

// expected output: "Hello world!";

2)substr

语法:字符串.substr(start[, length])

作用:返回一个字符串中从指定位置开始到指定字符数的字符。

返回值:是截取的字符串

conststr='我是中国人,我爱我的祖国'

constqu=str11.substr(2,3)

console.log(qu);

3)substring

语法:字符串.substring(开始的索引,[结束的索引])

作用:截取字符串

返回值:是截取的字符串

注意:

[1]如果结束的索引这个参数不传,表示从开始的索引截取到最后

[2]如果结束的索引这个参数传递,那么结束的索引对应的字符是不包含在内的

conststr11='我是中国人,我爱我的祖国'

constqu=str11.substring(2,5)//中国人 注意这里选取【)左闭右开 所以结束往后加一个索引值

4)split

语法:字符串.split('分隔符')

作用:将字符串转成数组

返回值: 是一个数组,不会影响源字符串

面试题:join()与split()区别?

join():数组的方法,把数组转换成字符串 数组.join('分隔符')

split():字符串的方法, 把字符串转换为数组 字符串.split('分隔符')

conststr='pink,red'

constarr=str.split(',')

console.log(arr)

conststr1='2022-4-8'

constarr1=str1.split('-')

console.log(arr1)

5)replace

语法:字符串.toUppercase()

作用:返回一个由替换值(replacement)替换部分或所有的模式(pattern)匹配项后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。

返回值:是一个新的字符串,不会影响源字符串

constp='The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';

console.log(p.replace('dog', 'monkey'));

// expected output: "The quick brown fox jumps over the lazy monkey. If the dog reacted, was it really lazy?"

constregex=/Dog/i;

console.log(p.replace(regex, 'ferret'));

// expected output: "The quick brown fox jumps over the lazy ferret. If the dog reacted, was it really lazy?"

6)toUpperCase

语法:字符串.toUppercase()

作用:将字符串转大写

返回值:是一个新的字符串,不会影响源字符串

const str = 'I love you'

//转大写

console.log(str.toUpperCase());

//需求:将第一个字符i转成大写

console.log(str.substring(0, 1).toUpperCase());

console.log(str[0].toUpperCase())

7)toLowerCase

语法:字符串.toUppercase()

作用:将字符串转小写

返回值:是一个新的字符串,不会影响源字符串

const str1 = 'I LOVE YOU'

// 转小写

console.log(str1.toLowerCase());

console.log(str1[0].toLowerCase());

console.log(str1.substring(0, 1).toLowerCase());

console.log(str1.substr(2, 4).toLowerCase());//love

8)startsWith

startsWith: 语法:字符串.startsWith(子字符串,[位置])

作用:判断字符串足否以某个子字符串开头

返回值:是一个布尔值,如果是以某个子字符串开头,结果是true,否则是false

注意:对大小写敏感

const str = 'I love you'

//需求:判断str是否以某个字符串开始

console.log(str.startsWith('I'));//true

console.log(str.startsWith('i'));//false

console.log(str.startsWith('I love'));//true

console.log(str.startsWith('I love', 3));//false

9)endsWith

语法:字符串.endsWith(子字符串,[位置])

作用:判断字符串是否以某个子字符串结束

返回值:是一个布尔值,如果是以某个子字符串结束,结果是true,否则是false

注意:对大小写敏感

console.log(str.endsWith('u'));//true

console.log(str.endsWith('you'));//true

console.log(str.endsWith('U'));//false

10)includes

语法:字符串.includes(子字符串,[位置])

作用:判断字符串足否包含子字符串

返回值:是一个布尔值,如果包含子字符串,结果是true,否则是false

注意 这个方法对大小写敏感

const str = 'I love you'

//需求:判断str是否包含子字符串

console.log(str.includes('love'));//true

console.log(str.includes('i love'));//false

console.log(str.includes('I love'));//true

11)indexOf

语法:indexOf(searchString, position)

作用:给定一个参数:要搜索的子字符串,搜索整个调用字符串,并返回指定子字符串第一次出现的索引。给定第二个参数:一个数字,该方法将返回指定子字符串在大于或等于指定数字的索引处的第一次出现。

返回值:查找的字符串 searchValue 的第一次出现的索引,如果没有找到,则返回 -1。

const paragraph = 'The quick brown fox jumps over the lazy dog. If the dog barked, was it really lazy?';

const searchTerm = 'dog';

const indexOfFirst = paragraph.indexOf(searchTerm);

console.log(`The index of the first "${searchTerm}" from the beginning is ${indexOfFirst}`);

// expected output: "The index of the first "dog" from the beginning is 40"

console.log(`The index of the 2nd "${searchTerm}" is ${paragraph.indexOf(searchTerm, (indexOfFirst + 1))}`);

// expected output: "The index of the 2nd "dog" is 52"

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值