首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Javascript:将字符串转换为对象数组?

Javascript:将字符串转换为对象数组?
EN

Stack Overflow用户
提问于 2018-04-15 23:55:14
回答 5查看 162关注 0票数 0

告诉我,如何以最佳方式转换字符串,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const data = "1350, 1351, 1390-1391, 1401, 1402 - 1407";

的数组,如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const range = [
    {
        min: 1350,
        max: 1350,
    },
    {
        min: 1351,
        max: 1351,
    },
    {
        min: 1390,
        max: 1391,
    },
    {
        min: 1401,
        max: 1401,
    },
    {
        min: 1402,
        max: 1407,
    },
];

换句话说,您需要使用显式指定这些数字范围的字符串创建一个数字范围数组。

最明显的可能算法是:

1)使用分隔符,拆分字符串

2)生成的部分使用命令trim清除空间。

3)检查零件是否为数字

4)如果没有,则使用分隔符-拆分该部分

( 5)所获得的零件使用trim命令清除空间,

6)检查组件eq 2的数量,它是一个数字

但是,它是否有可能使它更理想,更美丽,更有效?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-04-15 23:59:37

您可以使用.split().map()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const data = "1350, 1351, 1390-1391, 1401, 1402 - 1407";

const range = data.split(",").map(s => {
  let [min, max = min] = s.split("-");

  return {min: Number(min), max: Number(max)}
});

console.log(range);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

票数 5
EN

Stack Overflow用户

发布于 2018-04-15 23:59:16

试着做这样的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const data = "1350, 1351, 1390-1391, 1401, 1402 - 1407"

const result = data
  .split(/\s*,\s*/)
  .map(pair => {
    const [min, max = min] = pair
      .split(/\s*-\s*/)
      .map(Number)

    return {
      min,
      max
    }
  })

console.log(result)

票数 2
EN

Stack Overflow用户

发布于 2018-04-15 23:59:44

您可以结合使用split方法和reduce方法。

减()方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其还原为单个值。

另外,使用+操作符,以便结果强制到Number

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const data = "1350, 1351, 1390-1391, 1401, 1402 - 1407";
const array = data.split(', ').reduce(function(arr, elem){
   var [min, max] = elem.split('-');
   arr.push({
      min : + min,
      max: + (max || min)
   });
   return arr;
},[]);
console.log(array);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49852177

复制
相关文章
将 JavaScript 对象或值转换为 JSON 字符串:JSON.stringify()
JSON.stringify() 是一个 JavaScript 方法,用于将 JavaScript 对象或值转换为 JSON 字符串。它是 JSON(JavaScript Object Notation)数据格式中的核心方法之一。JSON.stringify() 函数接受一个参数作为需要被转换的 JavaScript 对象或值,并返回一个对应的 JSON 字符串。
网络技术联盟站
2023/07/07
6860
c++如何将字符串转为数组(将字符串转换为数组)
string [] imgArr=imgData.Split(new char[]{‘,’});
全栈程序员站长
2022/07/29
7.1K0
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.4K0
mysql整型转字符串_java中如何将字符串转换为字符数组
select * from A order by cast(name as unsigned);
全栈程序员站长
2022/09/27
23.5K0
【JavaScript】js对象进行排序(对象转数组,对象转对象)
【JavaScript】js对象进行排序(对象转数组,对象转对象)1. 问题描述需求是要排序一个对象aaa = { "2\_4":{"a":1,"b":2}, "2\_16":{"a":1,"b":2}, "2\_12":{"a":1,"b":2}, "2\_8":{"a":1,"b":2}}2. 最佳答案(详细解答可以往下看)let aaa = {"2\_4":{"a":2,"b":4},"2\_16":{"a":2,"b":16},"2\_12":{"a":2,"b":12},"
读懂原理
2022/07/05
6.7K0
【JavaScript】js对象进行排序(对象转数组,对象转对象)
java对象转换为json字符串_复杂json字符串转对象
在学习如何编写基于Java的软件时,开发人员遇到的第一个障碍就是如何将其代码与其他软件连接。 这通常是JSON的来源。虽然您可能是Java向导,但JSON是另一种动物。 无论如何,这篇博客文章解释了完成工作所需的一切。
全栈程序员站长
2022/09/30
9K0
java对象转换为json字符串_复杂json字符串转对象
JavaScrip将数组转为对象(JS数组转对象工作经常用)
我想获取一个元素数组,并将它们转换为一个对象。数组中的元素需要是对象的键,带有一些默认的空字符串,作为以后要更改的值。
IT工作者
2021/12/29
7.3K0
js数组对象转字符串方法_数组表示
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
6.8K0
javascript将字符串转为对象
javascript将字符串转为对象 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> var keyword = window.location.search.substring(1); // 取查询字符串 var pos = keyword.indexOf('=');
用户1719978
2018/07/05
1K0
javascript中如何正确将日期(Date)字符串转换为日期(Date)对象?
因近日一个项目中要在客户端判断用户输入的日期字符串的大小,所以对日期字符串转日期对象研究了一下,测试代码如下: <script. type="text/javascript"> var sDate1 = "2008/04/02"; var sDate2 = "2005/03/01"; var oDate1 = new Date(sDate1); var oDate2 = new Date(sDate2); if (oDate1 > oDate2)//输出 2008/04/
菩提树下的杨过
2018/01/22
5.8K0
使用 Jackson – 将字符串转换为 JsonNode 对象
本快速指南的主要目的是如何使用 Jackson 2 来将一个字符串转换为 JsonNode 对象。
HoneyMoose
2021/09/08
9.9K0
使用 Jackson – 将字符串转换为 JsonNode 对象
jsonobject转string数组_json字符串转jsonobject对象
格式:JSONObject parseObject(String text) 其中:text为JSONObject格式的字符串,如:{“k1″:”v1″,”k2″:”v2”}
全栈程序员站长
2022/09/25
2.4K0
json字符串转换为Json对象_前端字符串转json
参考网上的文章,做了一个关于json的总结,进行留存帮助以后阅读,希望可以帮助到大家。
全栈程序员站长
2022/09/28
7.7K0
java数组转为字符串_join()和toString()方法 将数组转换为字符串
join()方法将数组中所有的元素转化为字符串,并将这些字符串有逗号隔开合并成一个字符串作为方法的结果返回。如果调用时给定参数string,就将string作为在结果字符串中分开有各个数组元素形成的字符串的分隔符。
用户7886150
2021/04/06
5K0
将字符串转换为date类型_java字符串转date类型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
14.3K0
JavaScript——数组对象
注意:当检测Array实例时, Array.isArray 优于 instanceof,因为Array.isArray能检测 iframes.
岳泽以
2022/10/26
1.5K0
Javascript 转Date对象为字符串实现函数
转Date对象为字符串实现函数 function formatDate(time, format = "Y-MM-dd HH:mm:ss") { /** 格式化字符说明 Y 年 四位数 示例 2021 y 年 年数后二位 示例 21 M 月 单位数不补0 示例 1 MM 月 单位数补0 示例 01 d 日 单位数不补0 示例 2 dd 日 单位数补0 示例 02 H 小时 24小时制,单位数不
授客
2021/04/20
8260
JavaScript|数组对象
讲到数组会有人问,什么是数组?数组就是有序数据的集合,在JavaScript中的数组元素允许属于不同的数据类型,用数组名和下标就可以唯一地确定数组中的元素。接下来将会详细的讲解一下JavaScript数组对象。
算法与编程之美
2020/09/08
1.7K0
JavaScript数组对象
万能操作 数组.splice(开始位置,数量,操作),操作后原数组的内容改变第一个参数是指定从几号位置开始删除或添加  第二个参数是指定删除几个元素
十月梦想
2018/08/29
1.7K0
点击加载更多

相似问题

将字符串数组对象转换为数组对象- Javascript

16

JavaScript:将字符串数组转换为对象数组

23

将字符串数组转换为对象数组- javascript

30

将React/javascript字符串数组对象转换为对象数组

3171

将字符串数组转换为javascript对象

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文