JS 常用字符串,数组操作

本文详细介绍了JavaScript中String和Array对象的属性与方法,包括字符串样式、操作方法及数组的各种实用功能,帮助开发者更好地理解和使用这两种核心数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript String/Array对象

  • JS String对象

  String 对象属性
属性描述
constructor对创建该对象的函数的引用
length字符串的长度
prototype允许您向对象添加属性和方法
 
string 对象方法
方法描述用法
字符串样式  

anchor()

用于创建 HTML 锚。
var txt="Hello world!"
document.write(txt.anchor("myanchor"));
// 上面的代码将输出为纯粹的 HTML:<a name="myanchor">Hello world!</a>
点击查看代码
big()返回在指定的位置的字符的 Unicode 编码。
str.big()
small()使用小字号来显示字符串。
str.small()
bold()使用粗体显示字符串。
str.bold()
italics()使用斜体显示字符串。
str.italics()
blink()显示闪动字符串。
str.blink()
fixed()以打字机文本显示字符串。
str.fixed()
strike()使用删除线来显示字符串。
str.strike()
fontcolor()使用指定的颜色来显示字符串。
str.fontcolor("Red")
fontsize()使用指定的尺寸来显示字符串。
str.fontsize(7)
toLowerCase()将整个字符串转成小写字母。
str.toLowerCase()
toUpperCase()将整个字符串转成大写字母。
str.toUpperCase()
toLocaleLowerCase()把字符串转换为小写。
str.toLocaleLowerCase()
toLocaleUpperCase()把字符串转换为大写。
str.toLocaleUpperCase()
sub()把字符串显示为下标。
str.sub()
sup()把字符串显示为上标。
str.sup()
link()将字符串显示为链接。
document.write(str.link("http://..."))
字符串操作
concat()将两个或多个字符的文本组合起来,返回一个新的字符串。 str.concat(str2,str3...)
indexOf()返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
var str="Hello world!"
str.indexOf("Hello");        // 返回 0   
str.indexOf("World",0);      // 从0位置找World,返回-1
点击查看
charAt()返回指定位置的字符。 str.charAt(1)
lastIndexOf()返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。
var str="Hello world!"
str.lastIndexOf("world")      // 最后一个 world 出现的索引
str.lastIndexOf("world",0)   // 从指定位置查找 world 字符串 
点击查看
match()检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。
var str="1 plus 2 equal 3!"
str.match("plus "); // 检索一个字符串。
str.match(/\d+/g); // 检索一个正则表达式的匹配。
点击查看
substring()返回字符串的一个子串,传入参数是起始位置和结束位置。
var str="Hello world!"
str.substring(3);     //  从指定位置到最后,返回lo world!
str.substring(3,7);  //  从3到7,返回lo w
点击查看
substr()返回字符串的一个子串,传入参数是起始位置和长度
var str="Hello world!"
str.substr(3);    // 从3截取到最后
str.substr(3,7); // 从3开始截取7位
str.substr(-4);  // -1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
点击查看
replace()用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
var str="Visit Microsoft!"
str.replace(/Microsoft/, "W3School");     // 用 "W3School" 替换字符串中的 "Microsoft"
str.replace(/Microsoft/g, "W3School");   // 全局替换,每当 "Microsoft" 被找到,它就被替换为 "W3School"
str.replace(MIcrosoft/i, "Microsoft");      // 对大小写不敏感的搜索替换


name = "Doe, John";
name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");  // 转换姓名的格式,把 "Doe, John" 转换为 "John Doe" 
name = '"a", "b"';
name.replace(/"([^"]*)"/g, "'$1'");  // 把所有的花引号替换为直引号

// 把字符串中所有单词的首字母都转换为大写:
name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word) {
     return word.substring(0,1).toUpperCase()+word.substring(1);}
 );
点击查看
search()执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
var str="Visit W3School!"
str.search(/W3School/);  // 检索 "W3School",返回6
str.search(/w3school/);   // search() 对大小写敏感,无法检索到,返回-1
str.search(/w3school/i);  // 忽略大小写的检索
点击查看
slice()提取字符串的一部分,并返回一个新字符串(与 substring 相同)。
// String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
var str="Hello happy world!"
str.slice(6);      // 提取从位置 6 开始的所有字符
str.slice(6,11); // 提取从位置 6 到位置 11 的所有字符
点击查看
split()通过将字符串划分成子串,将一个字符串做成一个字符串数组。
var str="How are you doing today?"

str.split(" ");    // 输出 How,are,you,doing,today?
str.split("");     // 输出 H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
str.split(" ",3); // 输出 How,are,you,指定返回的数组的最大长度为3
点击查看
charCodeAt()返回在指定的位置的字符的 Unicode 编码。 str.charCodeAt(1);
fromCharCode()从字符编码创建一个字符串。
document.write(String.fromCharCode(72,69,76,76,79));
// 输出 HELLO
点击查看
localeCompare()用本地特定的顺序来比较两个字符串。 
  • JS 对象与字符串的互相转换

1:jQuery插件支持的转换方式

$.parseJSON(str);  //  可以将json字符串转换成json对象

2:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器代码如下:

JSON.parse(str);        // 将 json 字符串转换成 json 对象 
JSON.stringify(json); // 将 json 对象转换成 json 字符串

注:ie8(兼容模式),ie7和ie6没有JSON对象,需要引入 json.js 或 json2.js。

     下载地址: https://github.com/douglascrockford/JSON-js

 3:Javascript支持的转换方式

eval('(' + jsonstr + ')');  // 可以将json字符串转换成json对象,要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。

  • JS Array 对象:

Array 对象属性

属性描述
constructor返回对创建此对象的数组函数的引用。
length设置或返回数组中元素的数目。
prototype使您有能力向对象添加属性和方法。

 

Array 对象方法
方法描述
concat()连接两个或更多的数组,并返回结果。
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop()删除并返回数组的最后一个元素
push()向数组的末尾添加一个或更多元素,并返回新的长度。
reverse()颠倒数组中元素的顺序。
shift()删除并返回数组的第一个元素
slice()从某个已有的数组返回选定的元素
sort()对数组的元素进行排序
splice()删除元素,并向数组添加新元素。
toSource()返回该对象的源代码。
toString()把数组转换为字符串,并返回结果。
toLocaleString()把数组转换为本地数组,并返回结果。
unshift()向数组的开头添加一个或更多元素,并返回新的长度。
valueOf()返回数组对象的原始值
<think>好的,我现在要处理用户关于JavaScript字符串数组操作的查询。首先,我需要回顾用户提供的系统级指令,确保回答符合格式要求。用户希望所有行内数学表达式用$...$,独立公式用$$...$$,但这个问题主要涉及JavaScript,可能用不上数学公式,但还是要留意。回答必须用中文,结构清晰,生成相关问题,并正确引用提供的参考资料。 用户的问题是关于JavaScript字符串数组操作方法和示例。我需要从提供的引用中提取相关信息,并组织成有条理的步骤。引用[1]提到了使用join方法将数组转换为字符串,引用[2]解释了数组的基本概念,引用[3]讨论了访问和修改字符串数组的方法,引用[4]涉及对象转JSON字符串数组。虽然引用中有部分内容可能不直接相关,但需要挑选适用的部分。 首先,我应该列出常见的字符串数组操作方法,如创建、转换、添加/删除元素、遍历、查找、修改、排序等。每个方法需要给出示例代码,并标注对应的引用来源。例如,创建数组可以参考引用[2],join方法引用[1],修改元素引用[3],JSON转换引用[4]。 需要注意的是,用户提供的引用[3]提到的是C语言中的字符串数组修改,但JavaScript中字符串是不可变的,所以修改需要转换成数组操作后再转回字符串。比如,使用split和join方法。这点需要澄清,避免混淆。 另外,用户可能想知道如何将对象数组转换为JSON字符串数组,引用[4]中的JSON.stringify方法适用,可以包括这个例子。同时,确保示例代码正确,比如使用map方法处理数组中的每个元素。 在结构上,按照操作类型分点,每个点下有示例代码和解释,并在适当的地方添加引用标记。最后生成相关问题,如其他数组方法、性能优化、应用场景等,这些需要基于常见问题,但也要参考引用内容中的可能性。 需要检查是否有遗漏的操作方法,比如slice、splice、concat等,但用户提供的引用中没有提到这些,可能需要简要提及但不展开,或者集中在引用提到的内容。不过用户的问题更关注字符串数组操作,所以应覆盖主要方法,即使引用中没有全部涵盖,但结合常识补充必要的信息,同时优先使用引用中的例子。 最后,确保回答自然流畅,没有使用Markdown格式,代码用反引号包裹,正确引用来源,并在末尾生成相关问题。需要避免错误,比如错误的方法名或语法,确保示例代码正确运行。例如,join方法的正确使用,split方法的参数是否正确,以及JSON.stringify的正确应用。</think>以下是在JavaScript中操作字符串数组常用方法及示例: ### 一、创建字符串数组 ```javascript // 直接初始化 let fruits = ["Apple", "Banana", "Orange"]; // [^2] // 通过new Array创建 let colors = new Array("Red", "Green", "Blue"); ``` ### 二、数组字符串 1. `join()`方法:连接数组元素为字符串 ```javascript let str = fruits.join(", "); // 输出:"Apple, Banana, Orange" [^1] ``` 2. 转JSON字符串: ```javascript let objArray = [{name: "Alice"}, {name: "Bob"}]; let jsonStr = JSON.stringify(objArray); // 输出:[{"name":"Alice"},{"name":"Bob"}] [^4] ``` ### 三、添加/删除元素 ```javascript // 尾部添加 fruits.push("Mango"); // 头部添加 fruits.unshift("Peach"); // 删除最后一个元素 fruits.pop(); // 删除第一个元素 fruits.shift(); ``` ### 四、遍历数组 ```javascript // forEach遍历 fruits.forEach(item => console.log(item)); // map转换 let upperFruits = fruits.map(fruit => fruit.toUpperCase()); ``` ### 五、查找与筛选 ```javascript // 查找元素索引 let index = fruits.indexOf("Banana"); // 筛选符合条件元素 let longFruits = fruits.filter(fruit => fruit.length > 5); ``` ### 六、修改字符串元素 ```javascript // 直接修改 fruits[1] = "Pineapple"; // [^3] // 通过split操作字符串 let modified = fruits[0].split('').reverse().join(''); // "elppA" ``` ### 七、排序操作 ```javascript // 按字母排序 fruits.sort(); // 默认升序 // 自定义排序 fruits.sort((a, b) => b.length - a.length); // 按长度降序 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值