博客
关于我
算法系列1--js数组排序
阅读量:346 次
发布时间:2019-03-03

本文共 1081 字,大约阅读时间需要 3 分钟。

两个数组合并成一个数组

请把两个数组 ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和 ['A', 'B', 'C', 'D'],合并为 ['A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D']。

 自己研究的解法:

var a = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2']var b = ['A', 'B', 'C', 'D']for (var i = 0; i < b.length; i++) {  var c = [];  for (var j = 0; j < a.length; j++) {    j % 2 == 1 ? c.push(j + i + 1) : ''  }  a.splice(c[i], 0, b[i])}console.log(a) //[ 'A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D' ]

其他的解法: 

 

let result = ["A1", "A2", "B1", "B2", "C1", "C2", "D1", "D2"].concat(["A", "B", "C", "D"]).sort((a,b)=>a.charAt(0).charCodeAt()-b.charAt(0).charCodeAt());

改造下面的代码,使之输出0 - 9,写出你能想到的所有解法。

下面的代码会输出10个10 

for (var i = 0; i< 10; i++){	setTimeout(() => {		console.log(i);    }, 1000)}

 改造后,输出0-9

for (var i = 0; i < 10; i++) {  (     (j) => {      setTimeout(() => {        console.log(j);      }, 1000)    }  )(i)}
for (let i = 0; i < 10; i++) {  setTimeout(() => {    console.log(i);  }, 1000)}
for (var i = 0; i < 10; i++) {  setTimeout((i) => {    console.log(i);  }, 1000, i)}

 

 

转载地址:http://opyq.baihongyu.com/

你可能感兴趣的文章
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>