当前位置: 首页 > news >正文

js str字符串和arr数组互相转换

js str字符串和arr数组互相转换

字符串转为数组

1、split()方法
返回的是原字符串的数组

var str = "hello";  
var arr = str.split("");  
console.log(arr); //输出["h", "e", "l", "l", "o"]

2、Array.from()方法
返回一个新的数组实例

var str = "hello";  
var arr = Array.from(str);  
console.log(arr); // 输出:["h", "e", "l", "l", "o"]

3、扩展运算符(…)

var str = "hello";  
var arr = [...str];  
console.log(arr); // 输出:["h", "e", "l", "l", "o"]

4、for...of循环:

var str = "hello";  
var arr = [];  
for (let i of str) {  arr.push(i);  
}  
console.log(arr); // 输出:["h", "e", "l", "l", "o"]

5、Array.prototype.map()方法
可以通过回调函数对每个元素进行操作,适用于需要对字符串进行转换的情况

var str = "hello";  
var arr = Array.prototype.map.call(str, function (i) {  return i;  
});  
console.log(arr); // 输出:["h", "e", "l", "l", "o"]

数组转为字符串

1、join()方法

var arr = ["h", "e", "l", "l", "o"];  
var str = arr.join("");  
console.log(str); // 输出:hello

2、toString()方法
只能使用逗号作为分隔符,如果需要按照其他方式连接数组中的元素,需要用其他方法。

var arr = ["h", "e", "l", "l", "o"];  
var str = arr.toString();  
console.log(str); // 输出:h,e,l,l,o

3、扩展运算符(…)和字符串的+操作符

var arr = ["h", "e", "l","l","o"];  
var str = "" + [...arr];  
console.log(str); // 输出:h,e,l,l,o

4、Array.prototype.reduce()方法和字符串的+操作符
可以自定义连接方式,通过回调函数对每个元素进行操作

var arr = ["h", "e", "l","l","o"];  
var str = arr.reduce((acc, val) => acc + val, "");  
console.log(str); // 输出:hello

5、Array.prototype.map()方法和字符串的join()方法
可以使用指定的分隔符连接数组元素

var arr = ["h", "e", "l","l","o"];  
var str = arr.map(item => item).join("");  
console.log(str); // 输出:hello

相关文章:

js str字符串和arr数组互相转换

js str字符串和arr数组互相转换 字符串转为数组 1、split()方法 返回的是原字符串的数组 var str "hello"; var arr str.split(""); console.log(arr); //输出["h", "e", "l", "l", "o"]2、Ar…...

计算机网络——40各个层次的安全性

各个层次的安全性 安全电子邮件 Alice需要发送机密的报文m给Bob Alice 产生随机的对称秘钥, K s K_s Ks​使用 K s K_s Ks​对报文进行加密(为了效率)对 K s K_s Ks​使用Bob的公钥进行加密发送 K s ( m ) K_s(m) Ks​(m)和 K B ( K S ) K…...

OpenHarmony实战:Combo解决方案之W800芯片移植案例

本方案基于OpenHarmony LiteOS-M内核,使用联盛德W800芯片的润和软件海王星系列Neptune100开发板,进行开发移植。 移植架构采用Board与SoC分离方案,支持通过Kconfig图形化配置编译选项,增加玄铁ck804ef架构移植,实现了…...

【数据结构】数组(稀疏矩阵、特殊矩阵压缩、矩阵存储、稀疏矩阵的快速转置、十字链表)

稀疏矩阵、矩阵压缩、稀疏矩阵的快速转置、十字链表 目录 稀疏矩阵、矩阵压缩、稀疏矩阵的快速转置、十字链表1.数组2.数组的顺序表示和实现3.特殊矩阵的压缩存储(1). 上三角矩阵—列为主序压缩存储(2). 下三角矩阵—**行为主序压…...

nginx 配置访问地址和解决跨域问题(反向代理)

1、配置访问地址(通过ip访问) //配置ip访问地址 location ^~/auditApp{alias /usr/local/front-apps/cbd/auditApp;index index.html;if (!-e $request_filename) {rewrite ^/(.*) /auditApp/index.html last;break;}} 2、解决跨域问题&…...

支持向量机(SVM)白话之个人理解(学习记录)

本文仅有文字理解部分,没有相应的数学公式推导过程,便于新手理解。 一、什么是支持向量机 首先我们看下面这张图,在图中圆形和三角形分别代表不同的数据类型,如何画出一条直线使两者能够显著地区分开来呢? 答案可以多…...

【运输层】TCP 的可靠传输是如何实现的?

目录 1、发送和接收窗口(滑动窗口) (1)滑动窗口的工作流程 (2)滑动窗口和缓存的关系 (3)滑动窗口的注意事项 2、如何选择超时重传时间 (1)加权平均往返…...

K8s技术全景:架构、应用与优化

一、介绍 Kubernetes的历史和演进 Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。它最初是由Google内部的Borg系统启发并设计的,于2014年作为开源项目首次亮相。 初始阶段 Kubernetes的诞生…...

Java的异常机制

异常机制 三种类型 检查型异常:程序员无法预见的运行时异常:在编译时会被忽略错误ERROR:错误在代码中被忽略,在编译时检查不到 异常处理机制 抛出异常捕获异常异常处理的五个关键字:try,catch&#xff…...

考虑预同步的虚拟同步机T型三电平逆变器并离网MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 模型简介 三相 T 型三电平逆变器电路如图所示,逆变器主回路由三个单相 T 型逆变器组成。 直流侧输入电压为 UPV,直流侧中点电位 O 设为零电位,交流侧输出侧是三相三线制连…...

记一次k8s取证检材过期的恢复

复盘盘古石k8s的时候碰到了证书过期的问题,在此记录解决方法 报错信息:192.168.91.171:6443 was refused - did you specify the right host or port? 查看证书是否过期 kubeadm alpha certs check-expiration或 openssl x509 -in /etc/kubernetes/…...

【网站项目】自助购药小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…...

Ubuntu22.04修改默认窗口系统为X11

Ubuntu22.04安装默认窗口系统为Wayland(通过设置->关于可以看到)。 一、用Ubuntu on Xorg会话登录 用户登录时,点“未列出”,输入用户名后,在登录界面底部的齿轮图标中,选择 "Ubuntu on Xorg&quo…...

延时队列实现实战:如何利用 RabbitMQ 实现延时队列,以满足特定延迟处理需求

实现延时队列,可以通过RabbitMQ的死信队列(Dead-letter queue)特性,“死信队列”是当消息过期,或者队列达到最大长度时,未消费的消息会被加入到死信队列。然后,我们可以对死信队列中的消息进行消…...

关于在Ubuntu上配置mysql踩的一些坑

最近准备换工作了,回顾了下学校时期做的那个webserver,又在linux下mysql踩了一些坑,特此记录下来 程序编译错误mysql.h: No such file or directory 云服务器缺少mysql必要的运行组件,安装: sudo apt-get install l…...

JSBridge原理 - 前端H5与客户端Native交互

1. 概述: 在混合应用开发中,一种常见且成熟的技术方案是将原生应用与 WebView 结合,使得复杂的业务逻辑可以通过网页技术实现。实现这种类型的混合应用时,就需要解决H5与Native之间的双向通信。JSBridge 是一种在混合应用中实现 …...

【Java EE】Spring请求如何传递参数详解

文章目录 🎍传递单个参数🌴传递多个参数🍀传递对象🎄后端参数重命名(后端参数映射)🌲传递数组🎍传递集合🌴传递JSON数据🌸JSON概念🌸JSON的语法&a…...

菜鸟笔记-Numpy常用函数用法汇总

NumPy(Numerical Python的简称)是Python中用于处理数组和矩阵的库,提供了大量的数学函数来操作这些数组。通过前面的学习,慢慢也能发现一些规律,以下是NumPy的一些常用函数及其用法汇总: 数组创建 numpy.a…...

tensorflow.js 如何使用opencv.js通过面部特征点估算脸部姿态并绘制示意图

文章目录 前言一、实现步骤1. 获取所需特征点的索引2. 使用opencv.js 计算俯仰角、水平角和翻滚角cv.solvePnP介绍cv.solvePnP原理运行代码查看效果 3.绘制姿态示意直线添加canvas元素计算姿态直线坐标并绘制 总结 前言 在计算机视觉领域,估算脸部姿态是一项具有挑…...

Linux命令-dpkg-divert命令(Debian Linux中创建并管理一个转向列表)

说明 dpkg-divert命令 是Debian Linux中创建并管理一个转向(diversion)列表,其使得安装文件的默认位置失效的工具。 语法 dpkg-divert(选项)(参数)选项 --add:添加一个转移文件; --remove:删除一个转移…...

三极管的削波失真是什么

削波失真(Clipping Distortion)是指当放大电路(如三极管、运放)的输出信号幅度超过了其供电电压或输出动态范围的极限时,信号的顶部和/或底部被“削平”而发生的失真现象。1. 它是如何发生的?以一个共射放大…...

从零开始理解阵列信号处理:用Python模拟阵列流形与波数响应

从零开始理解阵列信号处理:用Python模拟阵列流形与波数响应 阵列信号处理是雷达、声纳和无线通信等领域的核心技术之一。对于初学者来说,面对复杂的数学公式和抽象概念常常感到无从下手。本文将采用实践优先的方法,通过Python代码实现阵列流形…...

GSE魔兽世界宏编译器完全指南:告别255字符限制,实现智能一键输出

GSE魔兽世界宏编译器完全指南:告别255字符限制,实现智能一键输出 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-…...

NotebookLM摘要质量断崖式下滑?揭秘92%用户忽略的3个语义锚点校准技巧

更多请点击: https://intelliparadigm.com 第一章:NotebookLM摘要质量断崖式下滑的真相溯源 近期大量用户反馈 NotebookLM 生成的摘要出现关键信息遗漏、逻辑断裂与事实扭曲等现象,部分案例中摘要准确率较 2023 年底下降超 40%。这一退化并非…...

CFS调度器:从公平算法到内核实现全景解析

1. CFS调度器的设计哲学与公平性实现 Linux内核的CFS(Completely Fair Scheduler)调度器诞生于2007年,取代了之前的O(1)调度器。它的核心设计理念可以用一个简单的比喻理解:想象CPU时间是一块披萨,CFS要确保每个进程都…...

NotebookLM思维导图生成已进入「语义拓扑时代」:2024Q2最新Benchmark显示其节点关联准确率超越MindNode Pro 41.6%

更多请点击: https://intelliparadigm.com 第一章:NotebookLM思维导图生成已进入「语义拓扑时代」 传统基于关键词共现或规则模板的思维导图生成方式,正被 NotebookLM 的语义理解能力彻底重构。其底层 LLM 模型不再仅识别显式术语关系&#…...

终极免费开源项目管理指南:如何用GanttProject高效规划复杂项目?

终极免费开源项目管理指南:如何用GanttProject高效规划复杂项目? 【免费下载链接】ganttproject Official GanttProject repository. 项目地址: https://gitcode.com/gh_mirrors/ga/ganttproject 想要免费、开源且功能强大的项目管理工具吗&#…...

创业公司如何利用taotoken的token plan套餐控制ai研发成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业公司如何利用Taotoken的Token Plan套餐控制AI研发成本 对于早期科技创业公司而言,产品创新与成本控制是两条必须并…...

LabVIEW生产者消费者模式进阶:从单队列到多队列的架构设计与实战

1. 生产者/消费者循环的进阶架构:从“一对一”到“一对多”在上一季的分享中,我们详细拆解了生产者/消费者循环的基础模型,即一个生产者任务对应一个消费者任务。这种结构清晰、易于理解,是处理异步任务、解耦数据生成与处理的经典…...

转子永磁式无刷混合励磁电机关键技术【附仿真】

✨ 长期致力于次谐波、无刷调磁、有限元建模与分析、多目标鲁棒优化、弱磁运行研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于次谐波调制与变电流…...