js将数组中,每个元素中的逗号分隔的前两位相同的,第三位拼接到一起

2023-11-03

js重新组合数组中的元素

过程可能复杂了,尽力了,谁有简单的留言一下,互相交流学习一下,感谢!

var arr = ['1,20,103','1,28,66','1,20,456','1,21,22','1,21,13','1,20,23','1,21,55']
            
var count = 0;
var arr1 = [];
var arr2 = [];
//将一维数组,重新组合为二维数组1
for(var i = 0; i < arr.length; i++){
    var a = arr[i].split(',');
    var a2 = a[0]+','+a[1];
    var a3 = [a2,a[2]]
    arr1.push(a3)
}
//将二维数组中一维数组中下标0元素,插入到一个新数组中
for(var i = 0; i < arr1.length; i++){
    arr2.push(arr1[i][0])
}

console.log('arr2:',arr2);
//利用filter(利用filter,可以巧妙地去除Array的重复元素),去除Array的重复元素,获取不重复的元素
var r = arr2.filter(function (element, index, self) {
    console.log(element, index, self);
    return self.indexOf(element) === index;
});
console.log('r:',r);
//创建一个新数组,用来构架和装载不重复的数据,暂定一维数组下标1,为''
var arr3 = [];
for(var i = 0; i < r.length; i++){
    var a = [r[i],'']
    arr3.push(a)
}

for(var i = 0; i < r.length; i++){
    for(var j = 0; j < arr1.length; j++){
        if(r[i] == arr1[j][0]){
            //组合为新的元素的前提是二维数组arr1中的一维数组,下标1的数据不重复,才可以直接插入,否则还需在循环体外,针对每一个一维数组,进行过滤重复的数据
            if(arr3[i][1]){
                var a = arr3[i][1]+','+arr1[j][1]
                arr3[i] = [arr3[i][0],a]
            }else{
                var a = arr1[j][1]
                arr3[i] = [arr3[i][0],a]
            }
            
        }
    }
}

console.log('===arr1===',arr1);
console.log('===arr3===',arr3);
var arr5 = [];
for(var i = 0; i < arr3.length; i++){
    var a = arr3[i][0]+','+arr3[i][1];
    arr5.push(a)
}
//最终结果
console.log('===arr5===',arr5);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js将数组中,每个元素中的逗号分隔的前两位相同的,第三位拼接到一起 的相关文章

  • 如何测试 javascript 闭包内的函数

    这似乎是不可能的 也可能是 但我正在尝试更多的 TDD 但我总是在闭包方面碰壁 假设我有以下内容 function createSomething init function privateMethod param return init
  • React js Stripe 结账不起作用

    我正在尝试在 React js 应用程序中呈现条带结账默认表单
  • 不和谐机器人 |不和谐.js |类型错误:无法读取未定义的属性“长度”

    我正在制作一个 Discord 机器人 并且正在使用 CodeLyon 的视频作为参考 该错误位于我的 message js 文件中 该文件包含以下内容 require dotenv config create cooldowns map
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • Firefox 书签探索未超过 Javascript 的第一级

    我已经编写了一些代码来探索我的 Firefox 书签 但我只获得了第一级书签 即我没有获得文件夹中的链接 e g 搜索引擎 雅虎网站 谷歌网站 在此示例中 我只能访问 Search engines 和 google com 不能访问 yah
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win

随机推荐

  • C++标准库头文件(工具库->csetjmp)

    参考网址 https zh cppreference com w cpp header https www runoob com cplusplus cpp standard library html 工具库 csetjmp 保存执行语境的
  • Android-Fragment详解

    Fragment是Android最常使用的控件之一 一般情况下 我们会在首页使用到 有的小伙伴也会单Activity和多Fragment的App 我总结了一下我了解的Fragment知识 希望对看这篇文章的小伙伴有所帮助 Fragment的
  • USB:Type-A、Type-B、Type-C、miniUSB、microUSB接口类型区分

    通用串行总线 universal serial bus USB 自推出以来 成功替代串口和并口 已经成为计算机和各种设备不可或缺的接口 USB的优点不用多说 网上有很多 今天主要小结一下USB的各种接口类型 避免被各种各样的USB名字搞晕
  • SQL调优案例1

    SQL语句的执行顺序 1 LIMIT 语句 分页查询是最常用的场景之一 但也通常也是最容易出问题的地方 比如对于下面简单的语句 一般 DBA 想到的办法是在 type name create time 字段上加组合索引 这样条件排序都能有效
  • 遥感影像识别-利用较大数据集训练

    回顾 经过前两次的思考 最终还是回到最初的想法上来 利用大量比较合理的电子地图进行模型的训练 看能否产生较好的效果 前两次的博文链接如下 遥感影像识别 制作数据集 遥感影像识别 训练策略 本次训练所使用的数据集 地域覆盖了全国几个主要的城市
  • Elasticsearch入门笔记

    ES入门笔记 1 概述 1 1 什么是全文检索 1 2 es的应用场景 1 3 参考资料 2 核心概念 3 进阶 3 1 集群 3 1 1 单节点 3 1 2 双节点 故障转移 3 1 3 三节点 水平扩容 3 1 4 应对故障 3 2 路
  • jdk1.8 Lambda 实战

    我们用常用的实例来感受 Lambda 带来的便利 替代匿名内部类 过去给方法传动态参数的唯一方法是使用内部类 比如 1 Runnable 接口 new Thread new Runnable Override public void run
  • 【HJ40】统计字符

    题目描述 输入一行字符 分别统计出包含英文字母 空格 数字和其它字符的个数 本题包含多组输入 数据范围 输入的字符串长度满足 1 1000 输入描述 输入一行字符串 可以有空格 输出描述 统计其中英文字符 空格字符 数字字符 其他字符的个数
  • CSS字体

    CSS字体属性定义文本中的字体 指定字体 font family属性 指定在文本中使用的字体系列 如 body font family sans serif 从sans serif字体系列中选择一个字体 并将其应用到body元素中 CSS字
  • 关于idea中提交svn时一直显示performing VCS refresh

    vue前端项目会自动生成node modules文件夹 在首次上传版本到svn的时候 不要提交node modules文件夹 否则node modules文件也会在版本控制中 那么在npm install之后 灾难就来了 Version C
  • 21年新版kali安装

    第一步 官网下载kali系统镜像文件 官网地址 www kali org 访问kali官网 点击上方GET KALI 然后点击Bare Metal 旁边的Virtual Machines是专门为虚拟机设计的 相比更为轻量 安装过程也比较简单
  • 配置Dot1q终结子接口实现跨设备VLAN间通信示例

    示例图 一 实验目的 1 配置Dot1q终结子接口实现跨设备VLAN间通信示例 二 注意事项 1 Dot1q终结子接口和QinQ终结子接口不支持透传不带VLAN Tag的报文 收到不带VLAN Tag的报文会直接丢弃 2 由于三层以太网子接
  • 前端传输数组条件查询,myslq使用in

    mysql语句使用in条件查询 从前端获取数组 1 post请求体中的json对象 Data public class UserSearchParam String userName NotNull Integer pageNum NotN
  • maomi

    我到家啦 你今天怎么样 需要我帮忙查资料么 转载于 https www cnblogs com loverain archive 2009 07 02 1515416 html
  • 每日一题:7. 分糖果(C++)

    每日一题 7 分糖果 C 题目 Alice 有 n 枚糖 其中第 i 枚糖的类型为 candyType i Alice 注意到她的体重正在增长 所以前去拜访了一位医生 医生建议 Alice 要少摄入糖分 只吃掉她所有糖的 n 2 即可 n
  • Spring-Data-JPA +Sharding-jdbc+druid数据库连接池 实现数据库读写分离

    关于Sharding jdbc 简介 定位为轻量级Java框架 在Java的JDBC层提供的额外服务 它使用客户端直连数据库 以jar包形式提供服务 无需额外部署和依赖 可理解为增强版的JDBC驱动 完全兼容JDBC和各种ORM框架 适用于
  • JDBC之多种开源数据库连接池介绍

    目录 一 多种开源的数据库连接池 二 C3P0数据库连接池 三 DBCP数据库连接池 四 Druid 德鲁伊 数据库连接池 一 多种开源的数据库连接池 1 JDBC 的数据库连接池使用 javax sql DataSource 来表示 Da
  • Element-ui 使用详细介绍

    一 后台搭建 使用 vue admin template 来快速搭建后台管理 它包含了 Element UI axios iconfont permission control lint 这些搭建后台必要的东西 Element是 饿了么团队
  • 六、Docker安装微服务

    一 编译所有的所需jar包 二 上传到服务器 三 编写Docerfile FROM java 8 ADD registry center 1 0 SNAPSHOT jar registry center 1 0 SNAPSHOT jar E
  • js将数组中,每个元素中的逗号分隔的前两位相同的,第三位拼接到一起

    js重新组合数组中的元素 过程可能复杂了 尽力了 谁有简单的留言一下 互相交流学习一下 感谢 var arr 1 20 103 1 28 66 1 20 456 1 21 22 1 21 13 1 20 23 1 21 55 var cou