首页 > 其他分享 >字符串和数组的方法

字符串和数组的方法

时间:2022-10-31 16:14:07浏览次数:113  
标签:arr console log var str 数组 字符串 方法

字符串和数组的方法

一.字符串

例子  var str='abcdefg'

1.length(获取字符串的长度)

console.log(str.length);// 7

2.charAt(str)(获取到的是指定位置的字符)

console.log(str.charAt(2))//c

3.charCodeAt(str)方法获取的是指定位置字符的Unicode(万国码)值

console.log(str.charCodeAt(2))//99
万国码
统一码(Unicode),也叫万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
例子  var str='abcdefgabc'

4.indexOf(searchvalue,fromindex):查找某个字符,有则返回第一次匹配到的位置,否则返回-1

searchvalue:必需,规定需检索的字符串值;
fromindex:可选的整数参数,规定在字符串中开始检索的位置。它的合法取值是 0 到 string.length - 1。如省略该,则从字符串的首字符开始检索。
console.log(str.indexOf('c'))//2
console.log(str.indexOf('h'))//-1
console.log(str.indexOf("c", 4))//9

5.lastIndexOf():查找某个字符,有则返回最后一次匹配到的位置,否则返回-1

console.log(str.lastIndexOf("b"))//8
console.log(str.lastIndexOf("h"))//-1

6.concat() 方法用于连接两个或多个字符串。该方法不会改变原有字符串,会返回连接两个或多个字符串的新字符串

var str1='123'
var str2='abc'
console.log(str1.concat(str2));//'123abc'

7.split() 方法用于把一个字符串分割成字符串数组。该方法不会改变原始字符串

var str='abcd'
console.log(str.split(''));//['a', 'b', 'c', 'd']

8.substr()、substring()和 slice() 方法都可以用来截取字符串。

(1)slice(start,end) 方法用于提取字符串的某个部分,并以新的字符串返回被提取的部分

start:必须。 要截取的片断的起始下标,第一个字符位置为 0。如果为负数,则从尾部开始截取。
end:可选。 要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置
var str = "abcdefg";
str.slice(1,6);   // "bcdef" 
str.slice(1);     // "bcdefg" 
str.slice();      // "abcdefg" 
str.slice(-2);    // "fg"
str.slice(6, 1);  // ""

(2)substr(start,length) 方法用于在字符串中抽取从开始下标开始的指定数目的字符

start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 string 的开始位置到结尾的字串。
var str = "abcdefg";
str.substr(1,6); // "bcdefg" 
str.substr(1);   // "bcdefg" 相当于截取[1,str.length-1]
str.substr();    // "abcdefg" 相当于截取[0,str.length-1]
str.substr(-1);  // "g"

(3)substring(from, to) 方法用于提取字符串中介于两个指定下标之间的字符

from:必需。一个非负的整数,规定要提取的子串的第一个字符在 string 中的位置。
to:可选。一个非负的整数,比要提取的子串的最后一个字符在 string 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
var str = "abcdefg";
str.substring(1,6); // "bcdef" [1,6)
str.substring(1);   // "bcdefg" [1,str.length-1]
str.substring();    // "abcdefg" [0,str.length-1]
str.substring(6,1); // "bcdef" [1,6)
str.substring(-1);  // "abcdefg"

9.toLowerCase() 和 toUpperCase()方法可以用于字符串的大小写转换。

//toLowerCase()
var str = "adABDndj";
str.toLowerCase(); //"adabdndj"
//toUpperCase()
var str = "adABDndj";
str.toUpperCase(); //"ADABDNDJ"

10.trim() 方法用于移除字符串首尾空白符,该方法不会改变原始字符串

var str = "  abcdef  "
str.trim()    //"abcdef"

二.数组

1.concat(arr)用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

var arr1=[1,2,3,4]
var arr2=['a','b','c']
console.log(arr1.concat(arr2));//[1,2,3,4,'a','b','c']

2.join()根据指定分隔符将数组中的所有元素放入一个字符串,并返回这个字符串

var arr = [ 1, 2, 3, 4, 5 ]
console.log( arr.join( '' ) );//12345
console.log( arr.join() );//1,2,3,4,5
console.log( arr.join( '--' ) );//1--2--3--4--5

3.pop(),shift(),unshift(),push()用于对数组的添加与删除

(1).pop()方法用于删除并返回数组的最后一个元素

var arr = [ 1, 2, 3, 4, 5 ]
var num=arr.pop()
console.log(num);//5
console.log(arr);//[1,2,3,4]

(2).shift()方法用于删除并返回数组的第一个元素

var arr = [ 1, 2, 3, 4, 5 ]
var num=arr.shift()
console.log(num);//1
console.log(arr);//[2,3,4,5]

 

(3).unshift()向数组的开头添加一个或更多元素,并返回新的长度

var arr = [ 1, 2, 3, 4, 5 ]
var num=arr.unshift(9)
console.log(num);//6
console.log(arr);//[9, 1, 2, 

 

(4).push()向数组的末尾添加一个或更多元素,并返回新的长度

var arr = [ 1, 2, 3, 4, 5 ]
var num=arr.push(9)
console.log(num);//6
console.log(arr);//[1, 2, 3, 4, 5, 9]

4.reverse()颠倒数组中元素的顺序

var arr = [ 1, 2, 3, 4, 5 ]
console.log(arr.reverse());//[5, 4, 3, 2, 1]

5.slice(start, end)可从已有的数组中返回选定的元素

start:表示从第几位开始(必选)
end:表示到第几位结束(不包含end位)(可选)省略表示到最后一位
start和end都可以为负数,负数时表示从最后一位开始算起,如-1表示最后一位。
var arr = [ 1, 2, 3, 4, 5 ]
console.log(arr.slice(2))//[3, 4, 5]
console.log(arr.slice(2,4))//[3, 4]
console.log(arr.slice(-2))//[4, 5]
console.log(arr.slice(-3,-1))

6.sort(callback)对数组中的元素进行排序,默认是升序

var arr = [ 7, 8, 1, 2, 3, 4, 5 ]
console.log(arr.sort())//[1, 2, 3, 4, 5, 7, 8]
console.log(arr)//[1, 2, 3, 4, 5, 7, 8]原数组改变
注:但是在排序前,会先调用数组的toString方法,将每个元素都转成字符之后,再进行排序,此时会按照字符串的排序,逐位比较,进行排序。
var arr = [ 6, 1024, 52, 256, 369 ];
console.log( arr.sort() );    //[1024, 256, 369, 52, 6]
如果需要按照数值排序,需要传参。sort(callback),callback为回调函数,该函数应该具有两个参数,比较这两个参数,然后返回一个用于说明这两个值的相对顺序的数字(a-b)
var arr = [ 6, 1024, 52, 256, 369 ];
arr.sort((a,b)=>{
    return a-b
})
console.log( arr );//[6, 52, 256, 369, 1024]  
arr.sort((a,b)=>{
    return b-a
})     
console.log( arr );//[1024, 369, 256, 52, 6]

7.splice(start,num,...data)向数组中添加,或从数组删除,或替换数组中的元素,然后返回被删除/替换的元素,不传参数不做操作

start:表示从索引为start的数据开始删除,直到数组结束,返回被删除的元素
var arr=[1,2,3,4,5,6]
console.log(arr.splice(2));//[3, 4, 5, 6]
console.log(arr);// [1, 2]
num:表示从索引为start的数据开始删除,删除num个
var arr=[1,2,3,4,5,6]
console.log(arr.splice(2,2));//[3, 4]
console.log(arr);// [1, 2, 5, 6]
data:表示从索引为start的数据开始删除,删除num个,并将第三个参数及后面所有参数,插入到start的位置
var arr=[1,2,3,4,5,6]
console.log(arr.splice(2,2,'a','b','c'));//[3, 4]
console.log(arr);//[1, 2, 'a', 'b', 'c', 5, 6]

8.map,forEach,和filter数组的循环

相同点:都用于数组的循环遍历
不同点:map有返回值且返回值是所有回调返回值组成的新的数组,forEach没有返回值,filter则是返回符合返回值为true的新数组
//forEach
var arr=[1,2,3,4,5,6]
var newArr=arr.forEach((item,index)=>{
    console.log(item+'--'+index)
    return item+'a'
    // 1--0
    // 2--1
    // 3--2
    // 4--3
    // 5--4
    // 6--5
})
console.log(newArr)//undefined
//map
var arr=[1,2,3,4,5,6]
var newArr=arr.map((item,index)=>{
    console.log(item+'--'+index)
    return item+'a'
    // 1--0
    // 2--1
    // 3--2
    // 4--3
    // 5--4
    // 6--5
})
console.log(newArr)//['1a', '2a', '3a', '4a', '5a', '6a']
//filter
var arr=[1,2,3,4,5,6]
var newArr=arr.filter((item,index)=>{
    return item > 3
})
console.log(newArr)//[4, 5, 6]

 

9.every()判断数组中每一项是否都满足条件,只有所有项都满足条件,才会返回true(全真为真,一假则假)

var arr=[1,2,3,4,5,6]
var result=arr.every((item,index)=>{
    return item>0
})
console.log(result)//true
var arr=[1,2,3,4,5,6]
var result=arr.every((item,index)=>{
    return item>3
})
console.log(result)//false

10.some()判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true(一真则真,全假为假)

var arr=[1,2,3,4,5,6]
var result=arr.some((item,index)=>{
    return item>3
})
console.log(result)//true
var arr=[1,2,3,4,5,6]
var result=arr.some((item,index)=>{
    return item>7
})
console.log(result)//false

 

标签:arr,console,log,var,str,数组,字符串,方法
From: https://www.cnblogs.com/wcq520/p/16844642.html

相关文章

  • mac版 AutoCAD(LT)安装失败,提示错误“Error 112”的解决方法
    很多网友反映,第一次安装AutoCAD(LT)2022或者2023的时候都能成功,但是有问题卸载后,想要重装时,安装到一定进度后,进度条会回退到0,然后提示安装失败,错误Error112。,这种情况如何......
  • 传统图像分割方法(基于阈值分割)
    阈值法:基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。因此,该类方法最为关键的......
  • 视频直播网站源码,uniapp页面跳转的几种方法和区别
    视频直播网站源码,uniapp页面跳转的几种方法和区别1.保留当前页面,可跳转到非tabBar页面,使用uni.navigateBack可以返回到原页面(可传参) uni.navigateTo({url:'test?id......
  • Java获取/resources目录下的资源文件方法
    Web项目开发中,经常会有一些静态资源,被放置在resources目录下,随项目打包在一起,代码中要使用的时候,通过文件读取的方式,加载并使用;今天总结整理了九种方式获取resources目录......
  • AMD Xilinx MPSoC 加载bit文件方法大全
    AMDXilinxMPSoC加载bit文件方法大全目录总结介绍Bit文件Linux内核配置PetaLinuxTemplateFpgamanager加载工具sysfsconfigfs(DTBO)fpgautil实际测试FSBL加载bitU-BO......
  • RDD的方法
    方法介绍简单使用 flatmap对RDD中的每一个元素进行先map再压扁,最后返回操作的结果scala>sc.parallelize(Array("abc","def","hij")).collectres31:Array[Strin......
  • Python学习二:字符串
    文章目录​​一、字符串编码转换​​​​1.1使用encode()方法编码​​​​1.2使用encode()方法解码​​​​二、字符串常规操作​​​​2.1拼接字符串​​​​2.2计算字......
  • js/react方法学习
    前言:最近看一个react工程,发现好多预发都不会,看代码如同雾里看花。 conststr='hello'constnewstr=str.split('').reduce(function(prev,current){const......
  • Java面试:请手写一个文件读取的方法
    比如我有一个1.txt,里面内容如下1.在堆中开辟对象所需空间,分配地址2.初始化对象3.将内存地址返回给栈中的引用变量现在,我要读取这个文本。1.字节流方式publicclassIOTest{......
  • 访问一个方法中的私有成员或者字段,应该如何处理,
    在开发的过程中经常会遇到这样一个问题,即使在同一个类中,访问私有方法中的字段,也不方便例子私有方法A{text tx=newtext();}现在方法B中想调用tx,之前遇到这样的问......