博客
关于我
算法系列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/

你可能感兴趣的文章
mysqlreport分析工具详解
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中null和空字符串的区别与问题!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>