JS中字符串、数组操作的API
常用的字符串和数组操作的API方法,持续更新中哦~~
字符串
1.concat()
将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。
console.log(str.concat('z'+'abc')) //将返回zabc
2.split(separator,howmany)
将字符串分割成数组。
separator 必写,字符串或正则表达式,从该参数指定的地方分割 字符。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
"2:3:4:5".split(":") //将返回["2", "3", "4", "5"]
"|a|b|c".split("|") //将返回["", "a", "b", "c"]
"hello".split("") //可返回 ["h", "e", "l", "l", "o"]
"hello".split("", 3)//可返回 ["h", "e", "l"]
3.indexOf(searchvalue,fromindex)
可返回某个指定的字符串值在字符串中首次出现的位置。
searchvalue 必写,规定需检索的字符串值。
fromindex 可选的整数参数,规定在字符串中开始检索的位置。它的合法取值是 0 到 字符串长大衣 - 1。如省略该参数,则将从字符串的首字符开始检索。
<script type="text/javascript">
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />") //将输出0
document.write(str.indexOf("World") + "<br />") //未找到,将返回-1
document.write(str.indexOf("world")) //将输出6
</script>
4.replace(regexp/substr,replacement)
用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
regexp/substr 必写。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
replacement 必写。一个字符串值。规定了替换文本或生成替换文本的函数。
var str="Visit Microsoft!"
document.write(str.replace(/Microsoft/, "W3School")) //将输出Visit W3School!
//全局替换
var str="Welcome to Microsoft! "
str=str + "We are proud to announce that Microsoft has "
str=str + "one of the largest Web Developers sites in the world."
document.write(str.replace(/Microsoft/g, "W3School"))
//输出
//Welcome to W3School! We are proud to announce that W3School
//has one of the largest Web Developers sites in the world.
5.substring(start,stop)
用于提取字符串中介于两个指定下标之间的字符。
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
var str="Hello world!"
document.write(str.substring(3,7)) //输出lo w
数组
1.find()
找到第一个符合条件的数组成员找到第一个符合条件的数组位置
let arr = [3, 5, 9, 8, 10, 2, 4]
let b = arr.find(item => {
return item > 7
})
console.log(b); //第一个输出的数字是9
2.map()
传入一个函数,把数组的每一项作为函数的参数被调用执行函数内容,然后用函数每次的返回值组成新的数组并返回,不改变原数组
let arr = [1, 2, 3, 4, 5, 6];
let newArr = arr.map((item) => item*item); // 箭头函数的简写,不用写return
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(newArr) // [1, 4, 9, 16, 25, 36]
3.reduce()
接受两个参数,函数和初始值,其中函数接受两个参数,那个初始值和数组的每一项,每次用初始值对数组的每一项进行操作并返回这个新的初始值(函数返回),不改变原数组
let arr = [1, 2, 3, 4, 5, 6];
let result = arr.reduce((sum, item) => sum+=item,0);
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(result) // 21
4.sort()
方法用于对数组的元素进行排序
sortby 可选。规定排序顺序。必须是函数。
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")
document.write(arr.sort())
</script>
//10,5,40,25,1000,1
//1,10,1000,25,40,5
5.concat(arrayX,arrayX,…,arrayX)
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
<script type="text/javascript">
var a = [1,2,3];
document.write(a.concat(4,5));
</script>
//结果:1,2,3,4,5
6.join(separator)
用于把数组中的所有元素放入一个字符串
separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join("."))
</script>
//结果:George.John.Thomas
7.pop()
方法用于删除并返回数组的最后一个元素
8.push(newelement1,newelement2,…,newelementX)
可向数组的末尾添加一个或多个元素,并返回新的长度。
newelement1 必需。要添加到数组的第一个元素。
newelement2 可选。要添加到数组的第二个元素。
newelementX 可选。可添加多个元素。
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr + "<br />")
document.write(arr.push("James") + "<br />")
document.write(arr)
</script>
//George,John,Thomas
//4
//George,John,Thomas,James
9.splice(index,howmany,item1,…,itemX)
向/从数组中添加/删除项目,然后返回被删除的项目
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX 可选。向数组添加的新项目。
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)
</script>
//输出 George,John,Thomas,James,Adrew,Martin
// George,John,William,James,Adrew,Martin
10.toString()
可把数组转换为字符串,并返回结果
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.toString())
</script>
//输出:George,John,Thomas
11.reverse()
数组翻转
12.includes()
判断数组中是否包含某个元素,返回一个布尔值
13.forEach()
遍历数组,没有返回值
14.set()
去重