理解js splice slice split replace

news/2024/7/24 5:49:44 标签: javascript

当我们用这些的时候特别容易混淆,所以就记录一下。
先说splice
splice的方法是对数组进行添加或者删除,第一个参数是数组对应的下标,第二个参数是从第一个参数的index开始,删除几个元素,第三个参数是你需要添加的元素(可以有多个)。

var arr = [1, 2, 3, 4, 5, 6, 7];
var arr1 = arr.splice(0, 2, '16');
// arr ["16", 3, 4, 5, 6, 7]
// arr1 [1, 2]

splice的返回值就是你删除的元素。对其他类型无效。会修改原来的数组

slice方法也是数组的方法,是从已有的数组中返回选定的元素,第一个参数是从哪开始选,第一个参数可以接受负值,如果为-1的话就从最后一个元素进行选取(必须的),第二个参数是从哪结束。这个不会修改原有数组,也有返回值。

var arr = [1, 2, 3, 4, 5, 6, 7,];
var arr1 = arr.slice(0, -1);
var arr2 = arr.toString() + ',';
console.log(arr,arr1,arr2)
**var arr3 = arr2.slice(0, -1)**
console.log(arr2,arr3);
// arr  [1, 2, 3, 4, 5, 6, 7] 
// arr1 [1, 2, 3, 4, 5, 6]
// arr2 "1,2,3,4,5,6,7,"

// arr2 1,2,3,4,5,6,7,
// arr3 1,2,3,4,5,6,7

这儿说一下,slice可以对字符串进行修改,我经常用到这个,比较容易混淆,所以记录一下。因为是有返回值的,所以你得定义一个常量接收这个返回值。以前经常忘记接收返回值,所以记录一下。这样,就把最后一个逗号去掉了。toString直接就可以去掉了,我这儿就是想记录一下。
再来说一下split,这个是将字符串分割成字符串数组,第一个参数将要分割的形式,字符串或者正则表达式,第二个参数是这个数组的length,不是index,(index是从0开始的,长度是从1开始的)。

var str = '1, 2, 3, 4, 5, 6, 7'
var str1 = str.split(',',6);
console.log('str',str,'str1',str1)
// str 1, 2, 3, 4, 5, 6, 7
// str1 ["1", " 2", " 3", " 4", " 5", " 6"] 

第二个参数不是必须的,第一个参数是必须的。
也可以把因为单词分割成一个一个的字母。

var str = 'hello world'
var str1 = str.split('');
console.log('str',str,'str1',str1)
// str hello world
// str1 ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]

注意,空格会被分割为空字符串。
最后说一下replace这个方法是在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的返回的值。第一个参数字符串或者正则表达式。第二个参数是需要替换的值,注意这俩个参数都是必须的。会返回一个新的字符串。
具体事例replace的使用

var str = 'hello world'
var str1 = str.replace('hello world','你好 世界');
console.log('str',str,'str1',str1)
// str hello world
// str1 你好 世界

就总结到这儿了,欢迎看到的小伙伴进行补充,大家有什么不对的可以指出,我好做修改,谢谢。


http://www.niftyadmin.cn/n/763842.html

相关文章

php 邮件发送是html 没样式_「快学springboot」使用springboot实现发送邮件功能

前言在实际项目中,经常需要用到邮件通知功能。比如,用户通过邮件注册,通过邮件找回密码等;又比如通过邮件发送系统情况,通过邮件发送报表信息等等,实际应用场景很多。这篇文章,就教大家通过spri…

vue动态添加数组归类

昨天在写完项目之后出现一个bug,我想简单了,我以为直接把数据传过去就行,谁知道还需要归类数据,把数据整合起来,这个是动态的整合起来。格式是这样子的 [{name: 123,children: []}]children数组里面放的是name底下的种…

java 判断对象是否为空_java虚拟机——对象存活判断与垃圾回收算法

Java识堂,一个高原创,高收藏,有干货的微信公众号,一起成长,一起进步,欢迎关注本文主要教书在java虚拟机垃圾回收机制中,如何判断对象是否存活和图解垃圾回收算法。一、概述对于java程序员来说&a…

ant design vue table栏getCheckboxProps的使用

今天业务有一个需求,从一个页面跳到另一个页面的时候,需要把以前选择的table的数据带上,然后展示出来,这可难倒我了,研究好长时间,在网上搜一堆,看个大概然后还是决定自己写一下,毕竟…

python长宽表转换_深入Python数据分析:宽表如何重构为长表

先来了解Pandas封装的顶层函数部分,其一:melt()函数,它位于Pandas包的最顶层,结构如下:Pandas|melt()melt()函数的原型如下:frame为list型参数,后面都为position型参数。前者为通常意义的*args,…

带有key和value的数组去重

当我们遇到这样的数组 [1, 2, 3, 4, 4, 3, 2, 1];可以用set方法,也可以用foreach然后用indexOf的特性来去重。 但是当我们遇到这样的数组 var arr [{a:1, b:2, c:3},{a:1, b:3, c:4},{a:1, b:7, c:8}];那需要怎么去重呢 那就需要map配合findIndex了 arr.map((it…

java字符串转化为数组_数百万浏览量的问题:如何比较Java的字符串?为你解答

大家好,这里是云析学院,专门为大家解答各种Java问题,为全国互联网公司提供一流的技术人才!今天来给大家讲解一个问题:如何比较 Java 的字符串?这一个问题的访问量足足有300万,这说明有很多很多的…

js 删除字符串中指定的一些字符

比如有一些字符串 1213,,2312,,13123r,阿瓦达无,undefined,undefined 如果想删除这些undefined的字符串那需要怎么 办呢 代码 var a 1, 2, 3, 4, 5, 23, undefined, undefined; // 后面加g是删除字符串里面所有的und…