值得了解的操作JS字符串的4个小技巧

字符串是编程世界最基本最重要的数据类型之一,javascript也不例外。下面本篇文章就来给大家分享4个优雅的操作javascript字符串的技巧,快来收藏吧!

值得了解的操作JS字符串的4个小技巧

JavaScript 字符串是不可变的,对于存储可以由字符、数字和 Unicode 组成的文本很便捷。JavaScript 提供了许多内置函数,允许以不同的方式创建和操作字符串。下面一起来看看这4个优雅的操作 JavaScript 字符串的技巧。

1. 拆分字符串

JavaScript中的 split() 方法使用指定的分隔符字符串将一个 String 对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。 有两个可选参数(分隔符和可选限制计数)将字符串转换为字符或子字符串数组,不设置分隔符将返回数组中的完整字符串。分隔符可以采用单个字符、字符串,甚至正则表达式。下面是使用正则表达式将使用逗号和空格拆分字符串的代码:

const title = "4个,JavaScript 字符串技巧";console.log(title.split(/[s+,/]+/)); // [ '4个', 'JavaScript', '字符串技巧' ]console.log(title.split(/[s+,/]+/, 2)); // [ '4个', 'JavaScript' ]

登录后复制

通过 split() 函数拆分的字符串可以通过简单地通过join(“”) 连接起来。

2. JSON格式化和解析

JSON 不是仅限 JavaScript 的数据类型,并且广泛用于前后端数据交互。JSON.stringify() 函数用于将对象转换为 JSON 格式的字符串。通常,只需将对象作为参数即可,如下所示:

const article = {    title: "JavaScript 字符串技巧",    view: 30000,    comments: null,    content: undefined,};const strArticle = JSON.stringify(article); console.log(strArticle); // {"title":"JavaScript 字符串技巧","view":30000,"comments":null}

登录后复制

从上面的代码可以看到,在 stringify 中会过滤掉 undefined 的值,但 null 值不会。

JSON.stringify()  可以接受两个可选参数,第二个参数是一个替换器,可以在其中指定要打印的键的数组或清除它们的函数。如下代码:

console.log(JSON.stringify(article, ["title", "comments"])); // {"title":"JavaScript 字符串技巧","comments":null}console.log(JSON.stringify(article, [])); // {}

登录后复制

对于一个巨大的 JSON,传递一个长数组可能影响可读性及效率。因此,可以设置替换函数并为要跳过的键返回 undefined ,如下代码:

const result = JSON.stringify(article, (key, value) =>    key === "title" ? undefined : value);console.log(result); // {"view":30000,"comments":null}

登录后复制

JSON.stringify()  的第三个参数通过指定缩进(在嵌套块中很有用)来格式化 JSON,可以传递一个数字来设置缩进间距,甚至可以传递一个字符串来替换空格。如下代码:

console.log(JSON.stringify(article, ["title"], ""));

登录后复制

输出的格式如下:

{    "title": "JavaScript 字符串技巧"}

登录后复制

还有一个 JSON.parse() 函数,它接受一个 JSON 字符串并将其转换为一个 JavaScript 对象。它还接受一个 reviver 函数,可以在返回值之前拦截对象属性并修改属性值。

const reviver = (key, value) => (key === "view" ? 0 : value);var jsonString = JSON.stringify(article);var jsonObj = JSON.parse(jsonString, reviver);console.log(jsonObj); // { title: 'JavaScript 字符串技巧', view: 0, comments: null }

登录后复制

3. 多行字符串和嵌入式表达式

在 JavaScript 中有三种创建字符串的方式,可以使用单引号 ” 、双引号 “” 或反引号(键盘的左上方, 1 的左边按键)。

const countries1 = "China";const countries2 = "China";const countries3 = `China`;

登录后复制

前两种创建方式基本相同,并且可以混合和匹配以连接或添加带引号的字符串(通过使用相反的语法风格),而反引号可以对字符串进行花哨而强大的操作。

反引号也称为模板字面量,反引号在创建多行字符串和嵌入表达式时很方便。下面是如何在 JavaScript 中使用字符串插值创建多行字符串的代码:

const year = "2021";const month = 7;const day = 2;const detail = `今天是${year}年${month}月${day}日,是个不错的日子!`;console.log(detail);

登录后复制

输出的结果也换行了,如下:

今天是2021年7月2日,是个不错的日子!

登录后复制

除了字符串字面量,在 ${} 中允许任何有效的表达式,它可以是一个函数调用或表达式,甚至是一个嵌套模板。

标记模板是模板字面量的一种高级形式,它允许使用一个函数来解析模板字面量,其中内嵌的表达式是参数。如下代码:

const title = "JavaScript 字符串技巧";const view = 30000;const detail = (text, titleExp, viewExp) => {    const [string1, string2, string3] = [...text];    return `${string1}${titleExp}${string2}${viewExp}${string3}`;};const intro = detail`本文的标题是《${title}》,当前阅读量是: ${view}`;console.log(intro); // 文的标题是《JavaScript 字符串技巧》,当前阅读量是:30000

登录后复制

4. 验证字符串数组中是否存在子字符串

查找 JavaScript 字符串中是否存在子字符串时间容易的事情,在 ES6 中,只需要使用 includes 函数。

但需要验证字符串是否存于数据中,主要数组中其中一项包含就返回 true ,如果都不包含返回 false,因此需要使用 some 函数与includes 一起使用,如下代码:

const arrayTitles = ["Javascript", "EScript", "Golang"];const hasText = (array, findText) =>    array.some((item) => item.includes(findText));console.log(hasText(arrayTitles, "script")); // trueconsole.log(hasText(arrayTitles, "php")); // false

登录后复制

总结

JavaScript 字符串操作是项目中常见的操作,上面4个技巧值得学习并应用到实际开发中。

更多编程相关知识,请访问:编程入门!!

以上就是值得了解的操作JS字符串的4个小技巧的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2710218.html

(0)
上一篇 2025年3月7日 20:50:31
下一篇 2025年3月7日 20:50:38

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • json是javascript子集么

    JSON语法是JavaScript语法的子集。JSON是一种轻量级的数据交换格式。它基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 本教程操作环境:windows7系统、javascript1.8.5…

    2025年3月7日
    000
  • JavaScript怎么终止循环

    方法:1、使用break语句退出循环,立刻退出包含在最内层的循环或者退出一个switch语句。2、使用continue语句退出循环,不是退出一个循环,而是开始循环的一次新迭代。3、使用return语句退出循环,只能出现在函数体内。 本教程操…

    2025年3月7日
    200
  • Javascript中什么是私有成员

    私有Private成员要由构造器生成。这个构造器有三个私有实例变量:param, secret, 和 self。它们被附加到了对象上,但它们无法从外部访问,同时它们也无法被这个对象的公共方法所访问。他们只对私有成员可见。 本教程操作环境:w…

    2025年3月7日
    200
  • javascript区分整数和浮点数吗

    javaScript是不区分整数值和浮点数值的。Number类型都可以存放。如果向Number()转换函数传入一个字符串,它就试图会将其转换成整数或者浮点数。 本教程操作环境:windows7系统、javascript1.8.5版、Dell…

    2025年3月7日
    200
  • javascript是什么格式的文件

    javascript是“.js”格式的文件。Js一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。…

    2025年3月7日
    200
  • javascript创建新节点方法是什么

    方法是:1、createElement(),创建元素节点;2、createTextNode(),创建文本节点;3、createComment(),创建注释节点;4、createDocumentFragment(),创建文档碎片节点。 本教程…

    2025年3月7日
    200
  • javascript加入网页有几种方法

    js加入网页的方法有两种,分别是:1、直接方式,语法格式为“js代码”;2、引用方式,语法格式“”。 1、直接方式   这是最常用的方法,大部分含有Javascript的网页都采用这种方法,如:      登录后复制   在这个例子中,我们…

    2025年3月7日
    200
  • javascript算术运算符有哪些

    javascript算术运算符有:加法运算符“+”,减法运算符“-”、乘法运算符“*”、除法运算符“/”、求余运算符“%”、递增运算符“++”、递减运算符“–”、幂运算符“**”。 本教程操作环境:windows7系统、java…

    2025年3月7日
    200
  • javascript如何表示空指针

    在javascript中,用null表示空指针。null的主要用途就是在赋值不确定的情况下,用一个null代替赋值,后面用在时候再重新赋值,初始赋值用null,几乎不占据内存空间。 本教程操作环境:windows7系统、javascript…

    2025年3月7日
    200
  • JavaScript中获取元素的方法有哪些

    JavaScript中获取元素的方法有:1、根据id获取元素;2、根据标签名字获取元素;3、根据name属性的值获取元素;4、根据类样式的名字获取元素;5、根据选择器获取元素。 本教程操作环境:windows7系统、javascript1.…

    2025年3月7日
    200

发表回复

登录后才能评论