数组与字符串方法

数组

1. 基本方法

 1)Array.prototype.unshift(item1,item2,item3...)

描述: 在数组的前面添加元素,一次可以传入多个参数。 注意:元素会根据当前传入的顺序添加到数组的前面。

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.unshift(9)
console.log(result)// 4console.log(arr)// [9,‘a‘,‘b‘,‘c‘]var result1 = arr.unshift(9,8)
console.log(result1)// 6console.log(arr)// [9,8,9,‘a‘,‘b‘,‘c‘]

分析: 1、该方法会改变原数组 2、该方法自身会返回新数组的长度 3、第二次是在第一次添加元素后再进行操作的,所以会保留第一次操作的结果,这里说明一下,以免歧义,后面的操作也是如此。

 2)Array.prototype.push(item1,item2,item3...)

描述: 在数组的后面添加元素,一次可以传入多个参数; 元素会根据当前传入的顺序添加到数组的后面。

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.push(9)
console.log(result)// 4console.log(arr)// [‘a‘,‘b‘,‘c‘,9]var result1 = arr.push(9,8)
console.log(result1)// 6console.log(arr)// [‘a‘,‘b‘,‘c‘,9,9,8]

分析: 1、该方法会改变原数组 2、该方法自身会返回新数组的长度

 3)Array.prototype.shift()

描述: 删除数组中索引为0的元素,不接受传参(传参会被忽略);

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.shift()
console.log(result)// ‘a‘console.log(arr)// [‘b‘,‘c‘]

分析: 1、该方法会改变原数组; 2、该方法自身会返回删除的元素(注意是元素哦,不是索引~); 3、若数组为空,该方法自身会返回undefined

 4)Array.prototype.pop()

描述: 删除数组中最后一个元素,不接受传参(传参会被忽略);

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.pop()
console.log(result)// ‘c‘console.log(arr)// [‘a‘,‘b‘]

分析: 1、该方法会改变原数组; 2、该方法自身会返回删除的元素; 3、若数组为空,该方法自身会返回undefined `


2. 转换方法

 1)Array.prototype.toString()

描述: 将数组转化为字符串,中间以逗号连接。

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.toString()
console.log(result)// ‘a,b,c‘console.log(arr)// [‘a‘,‘b‘,‘c‘]

分析: 1、该方法不会改变原数组 2、该方法返回以逗号连接的字符串形式的数组元素

 2)Array.prototype.join()

描述: 将数组转化为字符串,中间以传入的参数连接; 注意:传入多个参数时,只会选取第一个参数,若不传参,默认以逗号连接。

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.join(‘-‘)
console.log(result)// ‘a-b-c‘console.log(arr)// [‘a‘,‘b‘,‘c‘]

分析: 1、该方法不会改变原数组 2、该方法返回以传入的参数连接的字符串形式的数组元素 `


3、操作方法

 1)Array.prototype.concat()

描述: 将两个数组进行连接,同时也可直接传入元素,若是不传参,可以进行数组的复制。

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.concat([1,2])
console.log(result)// [‘a‘,‘b‘,‘c‘,1,2] 传入的数组默认添加到元素的后面console.log(arr)// [‘a‘,‘b‘,‘c‘] 没有改变原数组var result = arr.concat(1,2)
console.log(result)// [‘a‘,‘b‘,‘c‘,1,2] 可以直接传入元素,并以逗号间隔console.log(arr)// [‘a‘,‘b‘,‘c‘]var result = arr.concat()
console.log(result)/ [‘a‘,‘b‘,‘c‘] 
console.log(arr)// [‘a‘,‘b‘,‘c‘]result.pop() // 对result进行操作console.log(result)// [‘a‘,‘b‘] console.log(arr)// [‘a‘,‘b‘,‘c‘]result删除了一个元素,并没有影响到arr,所以使用concat()方法会返回一个新数组,不会改变原数组

 2)Array.prototype.slice(start,end)

描述: 截取字符串片段,start与end都是索引值,截取的元素范围[start,end),包含start,不包含end,不改变原数组

示例: var arr = [‘a‘,‘b‘,‘c‘]

1、若不传参数,默认截取整个数组,返回新数组var result = arr.slice()
console.log(result)// [‘a‘,‘b‘,‘c‘]console.log(arr)// [‘a‘,‘b‘,‘c‘]2、若传一个参数,表示从当前参数索引开始,截取到数组的最后一个元素var result = arr.slice(2)
console.log(result)// [‘c‘]console.log(arr)// [‘a‘,‘b‘,‘c‘]3、若传一个负数,表示从数组中倒数这个数的位置,截取到数组的最后一个元素var result = arr.slice(-2)
console.log(result)// [‘b‘,‘c‘]console.log(arr)// [‘a‘,‘b‘,‘c‘]4、传两个参数(若起始参数大于结束参数,会返回空数组)var result = arr.slice(1,2)
console.log(result)// [‘b‘]console.log(arr)// [‘a‘,‘b‘,‘c‘]5、传两个参数,若前一个数为正,后一个为负,则会从前一个元素的索引开始,截取到倒数负数个数的位置,不包含当前负数位置的值(若第一个值索引的元素刚好是第二个值的位置,会返回空数组)var result = arr.slice(1,-1)
console.log(result)// [‘b‘]console.log(arr)// [‘a‘,‘b‘,‘c‘]

 3)Array.prototype.splice(start,len,item,item...)

描述: 删除片段,start表示开始索引,len表示删除的长度,item为可选参数,表示删除后插入的元素,改方法会返回删除的元素,同时改变原数组

示例: var arr = [‘a‘,‘b‘,‘c‘]

1、若不传参,则不删除,返回空数组2、若传一个参数,则表示从当前参数索引的位置开始,删除到最后一个元素var result = arr.splice(1)
console.log(result)// [‘b‘,‘c‘]console.log(arr)// [‘a‘]3、若传一个参数且为负数表示从倒数这个数开始,删除到最后一个元素var result = arr.splice(-1)
console.log(result)// [‘c‘]console.log(arr)// [‘a‘,‘b‘]4、传两个参数时,若i为负数,则会返回一个空数组,相当于没有操作5、传三个或以上的参数时,从第三元素开始,会被插入到被删除的元素的位置var result = arr.splice(1,1,4,4)
console.log(result)// ["b"]console.log(arr)// ["a", 4, 4, "c"]

4、位置方法

 1)Array.prototype.indexOf(item1,item2)

描述: item1表示要查找的元素,item2表示查找的起始索引值,返回找到的元素的索引值

示例: var arr = [‘a‘,‘b‘,‘c‘,‘a‘]

1、找到后就会停止查找,即便后面还有这个元素var result = arr.indexOf(‘a‘,0)
console.log(result)// 0console.log(arr)// [‘a‘,‘b‘,‘c‘,‘a‘]2、若没有找到,则会返回-1var result = arr.indexOf(‘d‘,0)
console.log(result)// -1console.log(arr)// [‘a‘,‘b‘,‘c‘,‘a‘]3、若item2不传参,默认从索引为0的位置查找var result = arr.indexOf(‘a‘)
console.log(result)// 0console.log(arr)// [‘a‘,‘b‘,‘c‘,‘a‘]4、若item2传负数,则从倒数这个数的位置开始向数组后面查找var result = arr.indexOf(‘a‘,-2)
console.log(result)// 3console.log(arr)// [‘a‘,‘b‘,‘c‘,‘a‘]

 2)Array.prototype.lastIndexOf(item1,item2)

描述: 与indexOf一样,只不过是从后往前找

5、排序方法

 1)Array.prototype.reverse()

描述: 翻转数组,改变原数组,不接受参数(只要不传非法值,不会影响其功能)

示例: var arr = [‘a‘,‘b‘,‘c‘]

var result = arr.reverse()
console.log(result)// [‘c‘,‘b‘,‘a‘]console.log(arr)// [‘c‘,‘b‘,‘a‘]

 2)Array.prototype.sort()

描述: 数组排序,默认从小到大,改变原数组

示例: var arr = [‘a‘,‘b‘,‘c‘,1,2]

1、数字优先字母var result = arr.sort()
console.log(result)// [1, 2, "a", "b", "c"]console.log(arr)// [1, 2, "a", "b", "c"]2、单词排序按首字母排序,若首字母相同则比较第二个字母,以此类推var arr = [‘ba‘,‘ce‘,‘bb‘,‘aa‘]var result = arr.sort()
console.log(result)// ["aa", "ba", "bb", "ce"]console.log(arr)// ["aa", "ba", "bb", "ce"]3、多位数排序,同样从第一位开始比较,若相同则比较第二位,以此类推var arr = [‘33‘,‘1‘,‘123‘]var result = arr.sort()
console.log(result)// ["1", "123", "33"]console.log(arr)// ["1", "123", "33"]若想真正实现大小排序,该方法接受固定的参数,Array.prototype.sort(function(a,b) {return a-b})
形参的顺序为a,b,return a-b 表示升序,b-a表示降序var arr = [‘33‘,‘1‘,‘123‘]var result = arr.sort(function(a,b){return a-b})
console.log(result)// ["1", "33", "123"]console.log(arr)// ["1", "33", "123"]

字符串属性与方法

字符方法

==注意:字符串是不可变得,所以其所有方法都不会改变字符串本身==

 1)String.length

描述: 表示字符串的字符长度

 2)str[]

描述: 可以获取指定位置的字符,从0开始计数

 3)String.prototype.charAt()

描述: 获取指定位置的字符

示例:

 str = ‘num‘ 
console.log(str.charAt(1))

 4)String.prototype.charCodeAt()

描述: 获取指定位置字符的ASCII码

示例:

  str = ‘num‘ 
 console.log(str.charCodeAt(1))

操作方法

 1)String.prototype.concat()

描述: 连接字符串,不过一般不用,因为一个+就能解决了~

示例: var str = ‘num‘ console.log(str.concat(‘cv‘))// ‘numcv‘

 2)String.prototype.slice(start,end)

  与数组的一样,这里不再赘述~

 3)String.prototype.substring(start,end)

  与slice基本一样,一般用slice就好了

 4)String.prototype.substr(start,len)

  类似splice,截取片段


替换方法

 1)String.prototype.replace(value,rep)

描述: 替换字符串中的元素,返回替换后的字符串,只会替换查找到的第一个元素,即便后面还有相同元素 (传多参数是会报错的哦)

示例: var str = ‘numnnnn‘

console.log(str.replace(‘n‘,‘a‘))// ‘aumnnnn‘console.log(str.replace(‘n‘))// ‘undefinedumnnnn‘ 只传一个会用undefined替换查找到元素哦 `

位置方法

 1)String.prototype.replace(value,rep)

 2)String.prototype.replace(value,rep)

大小写转换

 1)String.prototype.toUpperCase()

  返回转化为大写字母的新字符串

 2)String.prototype.toUpperCase()

  返回转化为小写字母的新字符串


去除空格

 1) String.prototype.trim()

  去除字符串前后的空格


转换方式

 1) String.prototype.split(item,limit)

描述: 以参数字符串为界限,分割字符串,返回一个数组 item可以为字符串,也可以是正则表达式 limit一个整数,限定返回的分割片段数量

示例: var str = ‘nuamnannan‘ console.log(str.split(‘a‘))// ["nu", "mn", "nn", "n"]

 str = ‘nuamnannan‘‘a‘,2))
  • 终于写完了,可真是累啊,以后忘了就看自己的文章,不知道到时候是表扬自己还是鄙视自己QAQ
时间: 2024-10-13 11:21:27

数组与字符串方法的相关文章

常用数组、字符串方法总结&获取元素、DOM操作

字符串的方法.返回值.是否改变原字符串:1 charAt() 方法可返回指定位置的字符. 不改变原始字符串 JavaScript并没有一种有别于字符串类型的字符数据类型,返回的字符是长度为 1 的字符串: 注释:字符串中第一个字符的下标是 0.如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串. 2 concat() 方法用于连接两个或多个字符串并返回连接后的字符串 不改变原始字符串 语法:stringObject.concat(stringX,str

JS —— 数组与字符串方法

数组 1. 基本方法  1)Array.prototype.unshift(item1,item2,item3...) 描述: 在数组的前面添加元素,一次可以传入多个参数. 注意:元素会根据当前传入的顺序添加到数组的前面. 示例: var arr = ['a','b','c'] var result = arr.unshift(9) console.log(result)// 4 console.log(arr)// [9,'a','b','c'] var result1 = arr.unshi

数组及字符串方法

array: 方法 描述 concat() 连接两个或更多的数组,并返回结果. join() 把数组的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. pop() 删除并返回数组的最后一个元素 push() 向数组的末尾添加一个或更多元素,并返回新的长度. reverse() 颠倒数组中元素的顺序. shift() 删除并返回数组的第一个元素 slice() 从某个已有的数组返回选定的元素 sort() 对数组的元素进行排序 splice() 删除元素,并向数组添加新元素. toSourc

JavaScript笔记(二)——常用数组、字符串方法的应用

1.将字符串中的字符翻转,比如'hello',翻转成'olleh'. var arr=[]; function reverseString(str) { arr=str.split(""); arr=arr.reverse(); str=arr.join(""); return str;} reverseString("hello"); 2.计算一个整数的阶乘 function factorialize(num) { if(num<=1){

数组和字符串方法区别

字符串 1字符串不可变的, 如果对字符串的某个索引赋值,不会有任何错误,但是没有任何效果 如: var s = 'Text'; s[0] = 'X;' alert(s); //s仍然是'Text' 2JavaScript为字符串提供一些常用方法,注意: 调用方法本身不会改变原有字符串的内容,而是返回一个新字符串. 2.1 toUpperCase  把字符串中的字母变为全大写 2.2 toLowerCase  把字符串中的字母变为全小写 2.3 indexOf 索引指定字符串出现的位置  如  v

SQL写操作 设置内容 (数组转字符串)

SQL写操作 设置内容 (数组转字符串) SQL set内容 SQL操作数组转字符串 SQL写操作 set内容 (数组转字符串) [ 封装方法 ] function getSqlSet( $data ){ $Str = "";  foreach( $data as $k => $v ){  $Str.= $k."='".$v."',";  }  $Str = substr($Str,0,-1);  return $Str;  }  如执行i

数组 和 字符串 的相互转换

1,字符数组转换为字符串 java可以使用两种方法直接将字符数组转为字符串. 方法1:直接在构造String时转换. char[] data = {'a', 'b', 'c'}; String str = new String(data); 方法2:调用String类的方法转换. String.valueOf(char[] ch) 2,字符串数组转换为字符串 如果是 "字符串数组" 转 "字符串",只能通过循环,没有其它方法 String[] str = {&quo

js字符串方法、数组方法整理

push 向数组末尾添加一项 返回值为数组的长度: pop 删除数组最后一项: unshift 向数组开头增加一项: shift 删除数组第一项: splice 删除数组中的值:1 splice(n,m)从n开始 删除m个:返回下标n~m : 2 splic(n) 从n开始删除到末尾: 3 splice(n,m,x)从n开始删除m个,用x替换: 4 splice(n,0,m) 把x增加到n前面: 5 splice(arr.length,0,n) 向末尾加n 数组的截取和拼接 slice(n,m)

对于数组(字符串)slice方法的总结

数组(字符串)使用slice方法的目的就是截取目标数组(字符串),通俗的来讲就是截取想要的.网上有很多slice方法的实例加以说明,在此主要是从特殊到一般对此方法进行了总结. 先说总结的方法,再看下面的例子进行理解. 假设已知一个数组长度为len,则参数的有效范围为[-len,len-1],-len和0为第一个元素的下标,-1和len-1表示最后一个元素的下标.slice()总共有两个参数,不填参数返回所有元素:若只填一个参数x,则x为起始元素的下标(起始元素一定会被截取),返回x之后的所有元素