数组

方法

1.在数组末尾添加、删除元素

push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度。改变原数组

pop()方法则从数组末尾移除最后一个元素,减少数组的 length 值,然后返回移除的元素。改变原数组

2.在数组前端添加、删除元素

unshift() 方法从数组前端添加一个或多个元素,返回数组的长度。改变原数组

shift() 方法从数组前端移除一个元素,返回删除元素。改变原数组

3. 重排序方法

reverse()        // 返回一个逆向排序的新数组, 改变原数组

sort()      //返回一个从小到大排序的新数组 , 改变原数组

注意:sort排序默认是按照数组元素的ASCII码的大小排序,如果想用sort完成元素数值大小的排序需要调用函数

//数组升序排列
function compare(m, n) {
return m– n; //想要降序排列此处换为 n – m;
}
arr.sort(compare);

1.基于当前数组元素/数组,连接新的元素/数组,形成一个新的数组

concat() 方法返回新数组,不改变原数组

2.获取、截取、插入、替换元素

slice 基于当前数组获取指定区域元素,并返回一个新数组,不改变原数组

//slice(a,b)   获取范围是[a b)
var arr = Array(2,5,8,10,3,28);
var a = arr.slice(1,2); //从下标1开始获取,到下标2结束,不包括下标2 [1 2). document.writeln(arr); //元素不变
document.writeln(a); //

splice   数组值的截取、插入、替换、删除,会改变原数组

数组值的截取会改变原数组,返回截取元素的数组

//splice(a,b)  截取范围是从a按开始,截取长度为b
var arr = Array(2,5,8,10,3,28);
var a = arr.splice(2,3); //从下标2开始,截取3个元素
document.writeln(arr); //2,5,28
document.writeln(a); //8,10,3

插入元素,无返回值,改变原数组

//splice   插入
var arr = Array(2,5,8,10,3,28);
var a = arr.splice(2,0,"a","b"); //从下标2开始,截取0个元素,并插入新元素
document.writeln(arr); //2,5,a,b,8,10,3,28
document.writeln(a); //无返回值

替换元素,返回被替换元素,改变原数组

//splice   替换
var arr = Array(2,5,8,10,3,28);
var a = arr.splice(2,1,"a"); //从下标2开始,截取1个元素,并插入一个新元素(数组元素替换)
document.writeln(arr); //2,5,a,10,3,28
document.writeln(a); //

删除元素

//splice   删除
var arr = Array(2,5,8,10,3,28);
var a = arr.splice(2,1); //从下标2开始,截取1个元素,并插入一个新元素(数组元素替换)
document.writeln(arr); //2,5,10,3,28
document.writeln(a); //

3.定义数组元素间的分隔符

join   使用指定的分隔符把数组中的数据连接成字符串,返回新字符串,不改变原数组元素

Join()
var arr = Array(2,5,8,10,3,28);
var w = arr.join("、");
document.writeln(w); //2、5、8、10、3、28
document.writeln(arr); //2,5,8,10,3,28

字符串string

  1. 字符的获取方法
str.charAt   str.charCodeAt   String.fromCharCode
str.charAt   str.charCodeAt   String.fromCharCode
var str = "0123456";
console.log(str.charAt(3)) ; //获取下标为3的字符 3
console.log(str[3]) ; //获取下标为3的字符 3
console.log(str.charCodeAt(3)) ; //获取下标为3的字符的编码(ASCII码)51
console.log(String.fromCharCode(97)) ; //ASCII编码转换成字符 a
var str = String.fromCharCode(98,99);
console.log(str); //bc

该方法是 String 的静态方法,所以用String调用,        如:var str = String.fromCharCode(98,99); 可传入多个参数

2.连接字符串  str.concat()

str.concat()  也可以用+连接
var str1 = "hello";
var str2 = str1.concat(" world");
console.log(str1); //hello
console.log(str2); //hello word

3.字符串的查找方法 

str.indexOf( )  查找字符串第一次出现的位置,如果没找到则返回-1

str.indexOf( )
var str = "abcdabcd";
var subStr = "bcd";
var index = str.indexOf(subStr);
console.log(index); //

str.lastIndexOf( )  查找字符串最后一次出现的位置, 如果没找到则返回-1

str.lastindexOf( )
var str = "abcdabcd";
var index = str.lastIndexOf(“abc”); //

4.正则匹配

str.search() 正则匹配 (返回第一次出现的位置)

str.search()
var str = "Abcdabcd";
var index = str.search(/abc/gi); //index = 4

注: g表示进行全局匹配,i表示匹配的时候忽略大小写

5.str.replace() 替换字符串 

str.replace()
var str = "how are you!";
var newStr = str.replace("are", "old are");
console.log(str); //how are you!
console.log(newStr); //how old are you!

这里的替换只能执行一次,不能够进行全局匹配,如果需要全局匹配,则应使用正则表达式: str.replace(/are/gi, "old are")

字符串的常用函数(重要)

substring(start,end); //截取字符串 范围是[start, end)

substr(a,b)   截取字符串,范围是从下表为a的字符开始,截取长度为b

substr()
var str = 'Hello world!';
console.log(str.substring(2,5)); //llo
console.log(str); //Hello world!
console.log(str.substr(2,5)); //llo w

注: 如果只有一个参数, 则表示到字符串最后

split(separator, howmany)—根据分隔符、拆分成数组

separator(字符串或正则表达式)

howmany(可以指定返回的数组的最大长度, 可以省略)

split()  根据分隔符、拆分成数组
var str = 'Hello*world*!';
var str1 = str.split(/\*/);
console.log(str); //Hello*world*!
console.log(str1); //["Hello", "world", "!"]
var str = 'Hello*world*!';
var str1 = str.split('');
console.log(str1); //["H", "e", "l", "l", "o", "*", "w", "o", "r", "l", "d", "*", "!"]

【注】如果空字符串(“”)用作separator,那么stringObject中的每个字符之间都会被分割。

toLowerCase() 方法用于把字符串转换成小写

toUpperCase() 方法用于把字符串转换成大写

js数组与字符串处理 slice、splice、substring、substr、push、pop、shift、reverse、sort、join、split的更多相关文章

  1. js中slice splice substring substr区别

    https://www.jb51.net/article/62165.htm 1.slice(start,end)  #  字符串 2.splice (位置,删除个数,添加元素)# 针对arrary ...

  2. 数组方法push() pop() shift() unshift() splice() sort() reverse() contact()浅拷贝 slice()原数组拷贝

    push() pop() shift() unshift() splice() sort() reverse() 参考资料:https://wangdoc.com/javascript/stdlib/ ...

  3. js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip

    push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( ite ...

  4. 数组遍历 map()、forEach() 及 字符串切割 split() / 字符串截取 slice()、substring()、substr()

    JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代 ...

  5. JS —— 数组与字符串方法

    数组 1. 基本方法  1)Array.prototype.unshift(item1,item2,item3...) 描述: 在数组的前面添加元素,一次可以传入多个参数. 注意:元素会根据当前传入的 ...

  6. js数组,字符串常用方法汇总(面试必备)

    字符串: 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串.  2.indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 .  3.ch ...

  7. Js数组和字符串常用方法

    字符串: 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串.  2.indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 .  3.ch ...

  8. js数组、字符串常用方法

    数组方面 push:向数组尾部增加内容,返回的是新数组的长度. var arr = [1,2,3]; console.log(arr); var b = arr.push(4); console.lo ...

  9. js数组与字符串的相互转换方法 数组常用的方法

    1 数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二 ...

随机推荐

  1. [转] iOS 在UILabel显示不同的字体和颜色

    在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的at ...

  2. 做开发,你少不了的淘宝镜像之--maven镜像

    maven阿里云中央仓库 修改maven根目录下的conf文件夹中的settings.xml文件,内容如下: <mirrors>    <mirror>      <id ...

  3. 前端之JS的线程(最易懂)

    1. 前言 很多文章在介绍线程以及线程之间的关系,都存在着脱节的现象.还有的文章过于广大,涉及到了内核,本文希望以通俗易懂的话去描述晦涩的词语,可能会和实际有一丢丢的出入,但是更易理解. 我们都知道J ...

  4. Codeforces - tag::graphs 大合集 [占坑]

    520B 给定初始n和目标m,存在两种操作\(-1\)和\(×2\),要求最少操作次数 无脑解法是BFS,不能解决稍大的规模 当n>m时,输出n-m 否则逆向处理,转换为m到n的最小操作次数,存 ...

  5. form表单提交到Controller之后空值变成逗号

    首先这个错误不是我遇到的,是别人遇到来找我给帮忙调试的(我不会犯这种错误!!!) 错误非常神奇,前端页面的form表单是空的啥都没填,提交到后台之后(后台用@ModelAttribute实体类接受的) ...

  6. MVC目录规范

    入口程序 单一入口机制,单一入口指在一个web应用程序中,所有的请求都是指向一个脚本文件,例如我们经常看到某一个网站所有的页面都是index.php??xxxx这样的形式.所有对使用程序的访问都是必须 ...

  7. MySQL使用全文索引(fulltext index)

    1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char.varchar和text的字段上. 不过新版的MySQL5.6.24上InnoDB引擎也 ...

  8. Java EE环境

    Java EE环境,包括EJB容器和Web容器. (1)Web容器:只运行Web应用的容器,例如Tomcat就是开源的Web容器,它可以运行JSP.Servlet等. (2)EJB容器:运行在EJB组 ...

  9. 九度oj 1034 寻找大富翁 2009年浙江大学计算机及软件工程研究生机试真题

    题目1034:寻找大富翁 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5323 解决:2123 题目描述:     浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁. 输入:     ...

  10. Django models.py创建数据库

    创建完后初始化数据库 在命令行里输入: 回车后出现 继续命令行输入: