c++字符串转字符数组_JavaScript -字符串和数组

主要内容字符串概述、字符串常用方法、数组介绍、数组的创建、数组的遍历、数组的调用和数组的常用方法。

一、字符串

1.1字符串的概述

知乎视频​www.zhihu.com

字符串就是用单引号或者双引号包裹起来的,零个或多个排列在一起的字符。JavaScript 字符串用于存储和处理文本。

’javascript‘,“”,“345”,’9-11a$‘,“xiao_yuanLian”

字符串可以嵌套,在单引号包裹的字符串内部,应该使用双引号进行嵌套。在双引号包裹的字符串内部,应该使用单引号进行嵌套。

“I am ‘coolMan’”, ’are u “kidding” me’

总之字符串嵌套不能够出现容易引起混淆的使用方式。

1.2转义字符

用特殊的符号来替代在字符串当中,容易引起歧义的内容。反斜杠是一个转义字符。 转义字符将特殊字符转换为字符串字符:

转义字符 () 可以用于转义撇号,换行,引号,等其他特殊字符。

v2-43f2b869b92962103303b5f0b729759f_b.jpg

在嵌套时提到,字符串的嵌套不能够写引起混淆的方式。如果非要在字符串中使用相同的标识,就需要使用转义字符。

	'Did she say ’Hello'?'    
	"Did she say "Hello"?“

强调1:字符串需要在一行内定义,分成多行会报错。但是如果必须分成多行,则在每一行的末尾使用反斜杠作为连接符。

v2-3931e8dd76ae9ec713a8d678e3bcd885_b.jpg

强调2:也可以使用【(+)连接运算符】来连接多个字符串,模拟多行字符串。

v2-a530dca41758bcae04dc3bdaca814846_b.jpg

1.3字符串的属性

1.3.1length 属性

1、定义

length 属性返回字符串的长度(字符数)。

2、语法

string.length

3、例子

var txt = "Hello World!";
document.write(txt.length);//12

1.4字符串的方法

知乎视频​www.zhihu.com
知乎视频​www.zhihu.com
知乎视频​www.zhihu.com

1.4.1charAt()方法

1、定义

charAt() 方法可返回指定位置的字符。

第一个字符位置为 0, 第二个字符位置为 1,以此类推.

2、语法

     string.charAt(index)

3、例子

var str = "HELLO WORLD";
var n = str.charAt(2)

var str = "HELLO WORLD";
var n = str.charAt(str.length-1);

1.4.2charCodeAt()方法

1、定义

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。

字符串中第一个字符的位置为 0, 第二个字符位置为 1,以此类推。

2、语法

string.charCodeAt(index)

3、例子

var str = "HELLO WORLD";
var n = str.charCodeAt(0);

var str = "HELLO WORLD";
var n = str.charCodeAt(str.length-1);

1.4.3concat()方法

1、定义

concat() 方法用于连接两个或多个字符串。

该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。

2、语法

string.concat(string1, string2, ..., stringX)

3、例子

var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);

var str1="Hello ";
var str2="world!";
var str3=" Have a nice day!";
var n = str1.concat(str2,str3);

1.4.4substring()方法

1、定义

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

substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

2、语法

string.substring(from, to)

3、例子

<

1.4.5substr()方法

1、定义

substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。

提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

注意: substr() 方法不会改变源字符串。

2、语法

string.substr(start,length)

3、例子

var str="Hello world!";
var n=str.substr(2,3)

var str="Hello world!";
var n=str.substr(2)

1.4.6slice()方法

1、定义

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

使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。

字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。

提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

2、语法

string.slice(start,end)

3、例子

var str="Hello world!";
var n=str.slice(1,5);

var str="Hello world!";
var n=str.slice(3);

var str="Hello world!";
var n=str.slice(0,1);

var str="Hello world!";
var n=str.slice(-1);

1.4.7indexOf()方法

1、定义

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

如果没有找到匹配的字符串则返回 -1。

注意: indexOf() 方法区分大小写。

2、语法

string.indexOf(searchvalue,start)

3、例子

var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");

var str="Hello world, welcome to the universe.";
var n=str.indexOf("e");

var str="Hello world, welcome to the universe.";
var n=str.indexOf("e",5);

1.4.8lastIndexOf()方法

1、定义

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。

注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。

开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。

如果没有找到匹配字符串则返回 -1 。

注意:lastIndexOf() 方法是区分大小写的!

2、语法

string.lastIndexOf(searchvalue,start)

3、例子

var str="I am from runoob,welcome to runoob site.";
 var n=str.lastIndexOf("runoob");

var str="I am from runoob,welcome to runoob site.";
 var n=str.lastIndexOf("runoob", 20);

var str="I am from runoob,welcome to runoob site."; 
var n=str.lastIndexOf("runoob", 9);

1.4.9trim()方法

1、定义

trim() 方法用于删除字符串的头尾空格。

trim() 方法不会改变原始字符串。

2、语法

string.trim()

3、例子

var str = "       Runoob        ";
alert(str.trim());

1.4.10toUpperCase()方法

1、定义

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

2、语法

string.toUpperCase()

3、例子

var str="Runoob";
 document.write(str.toUpperCase());

1.4.11toLowerCase()方法

1、定义

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

2、语法

string.toLowerCase()

3、例子

var str="Runoob";
 document.write(str.toLowerCase());

1.4.12replace()方法

1、定义

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

2、语法

string.replace(searchvalue,newvalue)

3、例子

var str="Visit Microsoft! Visit Microsoft!";
var n=str.replace("Microsoft","Runoob");

1.4.13search()方法

1、定义

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

如果没有找到任何匹配的子串,则返回 -1。

2、语法

string.search(searchvalue)

3、例子

var str="Visit Runoob!"; 
var n=str.search("Runoob");

var str="Mr. Blue has a blue house";
document.write(str.search("blue"));

1.4.14match()方法

1、定义

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。如果没有找到任何匹配的文本, match() 将返回 null。

2、语法

string.match(regexp)

3、例子

var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(ain);

1.4.15split()方法

1、定义

split() 方法用于把一个字符串分割成字符串数组。

提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

注意: split() 方法不改变原始字符串。

2、语法

string.split(separator)

3、例子

var str="How are you doing today?";
var n=str.split(" ");

var str="How are you doing today?";
var n=str.split();

var str="How are you doing today?";
var n=str.split("");

var str="How are you doing today?";
var n=str.split("o");
知乎视频​www.zhihu.com

二、数组

2.1数组的概念

知乎视频​www.zhihu.com

数组(array)是按照一定顺序排列的一组值,每个值都拥有自己的编号,编号从0开始。

var arr = [item1,item2,item3];

上述代码中的item1、item2和item3元素就构成一个数组。两端的方括号是数组的标志。因为数组元素编号从0开始,所以item1是数组的第0个元素。

item1、item2和item3是泛指,javascript中的数组元素可以是任何类型的数据。

var arr = [‘123’,123,true,null,undefined,{'name':'frank'}];这是数组么?

2.2数组的本质

typeof运算符会返回数组的类型是object。本质上,数组是对象类型的一种特殊表现形式。因此创建的时候我们可以使用new方式来创建。

var nameArr = new Array('LiLei', 'HanMeiMei', 'LiMing');
console.log(typeof nameArr);//object

2.3数组的创建

1、字面量法

var 数组名 = [数组元素1,数组元素2,...];

2、new方法

var 数组名 = new Array(数组元素1,数组元素2,...);

2.4数组的长度

计算数组长度的时候只需要计算数组元素的个数即可

数组的长度 = 最后一个下标 + 1

arr.length

var ageArr = [18,24,30];
console.log(ageArr.length);//3

length是一个可写属性:

如果设置length长度小于数组本身长度,那么多余元素舍弃。

如果设置length长度大于数组本身长度,那么缺少元素用空位补齐。

如果设置length长度不是合法数值,那么会报错Invalid array length

v2-a5ed8558e0d20184f90ba919f842f47e_b.jpg

2.5数组的遍历

如果想要连续访问数组中的每个元素,可以使用for in快速遍历或者for循环。

v2-6c67f2f6cf5606a327fcee9e9f25cbad_b.jpg

需要引起注意的是,循环遍历数组的时候,for循环中的i表示的数组的下标。并不是表示数组元素!

2.6数组的空位

当数组的某个位置是空元素,即两个逗号之间没有任何值,我们称该数组存在空位(hole)。有趣的是:如果最后一个元素后面有逗号,这种情况并不会产生空位。也就是说最后 一个元素后面的逗号有和没有结果都是一样的。(当然这种写法并不推荐。)

var countryNameArr = ['China',,'Japan'];
countryNameArr.length//3

var countryName = ['China','American','Japan',];
	countryName.length//3

2.7数组的调用

数组的调用实际上指的是数组元素的调用。数组元素通过【数组名+下标】的方式来进行访问。数组元素一次只能访问一个,不能一次连续访问多个数组元素。

    var arr = ["张一山","李现","宋仲基"];
    console.log("我的男盆友是"+arr[0]);//我的男盆友是张一山

2.8数组的方法

2.8.1isArray方法

1、定义

isArray() 方法用于判断一个对象是否为数组。

如果对象是数组返回 true,否则返回 false。

2、语法

Array.isArray(obj)

3、例子

var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(Array.isArray(fruits));

2.8.2push()方法

1、定义

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

注意: 新元素将添加在数组的末尾。

注意: 此方法改变数组的长度。

2、语法

array.push(item1, item2, ..., itemX)

3、例子

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi")

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi","Lemon","Pineapple")

2.8.3pop()方法

1、定义

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

注意:此方法改变数组的长度!

2、语法

array.pop()

3、例子

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();

2.8.4unshift()方法

1、定义

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

注意: 该方法将改变数组的数目。

2、语法

array.unshift(item1,item2, ..., itemX)

3、例子

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon","Pineapple");

2.8.5shift()方法

1、定义

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

注意: 此方法改变数组的长度!

2、语法

array.shift()

3、例子

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift()

2.8.6slice()方法

1、定义

slice() 方法可从已有的数组中返回选定的元素。

slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

注意: slice() 方法不会改变原始数组。

2、语法

array.slice(start, end)

3、例子

<

2.8.7splice()方法

1、定义

splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组。

如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。

v2-3bd14cf9997f0499c2df1089edba4635_b.jpg

2、语法

array.splice(index,howmany,item1,.....,itemX)

3、例子

//数组中添加新元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");

//移除数组的第三个元素,并在数组第三个位置添加新元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi");

//从第三个位置开始删除数组后的两个元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,2);

2.8.8join()方法

1、定义

join() 方法用于把数组中的所有元素转换一个字符串。

元素是通过指定的分隔符进行分隔的。

2、语法

array.join(separator)

3、例子

//把数组中的所有元素转换为一个字符串:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();

//使用不同的分隔符:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join(" and ");

2.8.9indexOf()方法

1、定义

indexOf() 方法可返回数组中某个指定的元素位置。

该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。

如果在数组中没找到指定元素则返回 -1。

2、语法

array.indexOf(item,start)

3、例子

//查找数组中的 "Apple" 元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
var a = fruits.indexOf("Apple");

//查找数组中 "Apple" 的元素, 在数组的第四个位置开始检索:
var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
var a = fruits.indexOf("Apple",4);

2.8.10lastIndexOf()方法

1、定义

lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。

如果要检索的元素没有出现,则该方法返回 -1。

该方法将从尾到头地检索数组中指定元素 item。开始检索的位置在数组的 start 处或数组的结尾(没有指定 start 参数时)。如果找到一个 item,则返回 item 从尾向前检索第一个次出现在数组的位置。数组的索引开始位置是从 0 开始的。

如果在数组中没找到指定元素则返回 -1。

2、语法

array.lastIndexOf(item,start)

3、例子

v2-d3a77435fc56572d91f5f47e0f57776a_b.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值