博客
关于我
算法系列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 Error Handling in Stored Procedures---转载
查看>>
MVC 区域功能
查看>>
MySQL FEDERATED 提示
查看>>
mysql generic安装_MySQL 5.6 Generic Binary安装与配置_MySQL
查看>>
Mysql group by
查看>>
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>
MySQL InnoDB 三大文件日志,看完秒懂
查看>>
Mysql InnoDB 数据更新导致锁表
查看>>
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>