split、splice、join

  • split
    • split()主要是用于对一个字符串进行分割成字符串数组。
    • str.split(“”);默认的情况下,split(“”)方法对每个字符进行分割
      注意: split() 方法不改变原始字符串。
      var n=str.split(" "); n是分开的 而str还是之前的
var str="How are you doing today?"
document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3))

How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you
  • reverse
    reverse() 方法反转数组中元素的顺序
  • join
    • join() 方法将数组作为字符串返回。元素将由指定的分隔符分隔。
    • join() 默认分隔符是逗号 , fruits.join() 是a,b,c
    • join(‘’) 则将他们组合到一起,不分割, fruits.join(‘’) 是abc
'hello hi'.split(' ').reverse().join(' ')

'hello hi'.split(' ')-----['hello','hi']
'hello hi'.split(' ').reverse()-----['hi', 'hello']

this.message.split("")------['h', 'e', 'l', 'l', 'o', ' ', 'h', 'i']
this.message.split("").reverse() -----['i', 'h', ' ', 'o', 'l', 'l', 'e', 'h']
this.message.split("").reverse().join("")------ih olleh
  • push
    app.message.push(1) 往数组加元素,返回新数组长度

  • splice
    splice会改变原始数组

var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.splice(2,0,"Lemon","Kiwi");   返回删除的元素,啥也没删,结果是空数组
索引 个数 如果删对应索引删掉

fruits 输出结果:
Banana,Orange,Lemon,Kiwi,Apple,Mango
			var arr=[1,2,3]
			var a=arr.splice(1,1)
			console.log(a);//[2]
			console.log(arr);//[1,3]

js中使用splice在一次循环删除数组中的多个元素

splice():该方法会改变原始数组。

			// 想删除item是2的元素
			var arr = [1, 2, 2];
			for (var i = 0; i < arr.length; i++) {
				console.log(i + '=' + arr[i]); //i=0 i=1进来 i=2都没进来
				if (arr[i] == 2) {
					arr.splice(i, 1);//i=1进来之后arr[1]=2,则[1,2,2].splice(1,1)  这个arr就变成了[1,2]
					console.log(arr);//[1,2]
				}
			}

由结果可以看出,这个循环只循环了两次,没有判断当arr[i]=3的情况,这是因为当 arr[2]==2的时候使用splice将该元素删除后,该数组的长度变成了2,此时进行循环已经不满足条件,所以当arr[i]=3的时候没有再进行循环。

解决方法:

			var arr = [1, 2, 2];
			for (var i = arr.length - 1; i >= 0; i--) {
				console.log(i + '=' + arr[i]);//i=2,i=1,i=0都进来了
				if (arr[i] == 2) {
					arr.splice(i, 1);
					console.log(arr);//[1]
				}
			}

原文https://www.cnblogs.com/xxl910/p/12758821.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值