Array 操作
一、数组拉平
function arrayFlat(arr) {
return arr.reduce((pre, cur) => {
const temp = Array.isArray(cur) ? arrayFlat(cur) : cur;
return pre.concat(temp);
}, []);
}
const result = arrayFlat([1, [2, 3], [4, [5, 6, [8]], 7]]);
console.log(result);
// 数组拉平 es6 flat
// const arr = [1, [2, 3], [4, [5, 6, [8]], 7]];
// // console.log(arr.flat());
// console.log(arr.flat(2));
// console.log(arr.flat(3));
// [1, [2, [3]]].flat(Infinity);
二、打乱数组
// 方法1
function ArrayBreak1(arr) {
const $arr = [...arr];
return $arr.sort(() => Math.random() - 0.5);
} console.log(ArrayBreak1([1, 2, 3, 4, 5, 6])); // 方法2
function ArrayBreak2(arr) {
const $arr = [...arr];
const result = [];
while ($arr.length) {
const index = Math.floor(Math.random() * $arr.length);
result.push($arr[index]);
$arr.splice(index, 1);
}
return result;
} console.log(ArrayBreak2([1, 2, 3, 4, 5, 6]));
Array 操作的更多相关文章
- javascript array操作
首先来看一下怎么判断一个对象是不是数组: 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...
- 斗篷指令、属性指令、表单指令、条件指令、循环指令、js的Array操作、前台数据库、
```python"""1)指令 属性指令:v-bind 表达指令:v-model 条件指令:v-show v-if 循环指令:v-for 斗篷指令:v-cloak 2) ...
- js Array操作
JS中数组的操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长 ...
- PHP学习之数组Array操作和键值对操作函数(一)
PHP 中的数组实际上是一个有序映射.映射是一种把 values关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合, ...
- PHP array 操作函数
array_map 函数的介绍 将数组的每个单元使用回调函数格式: array_map(callback, array) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- Array操作方法和String操作方法比较
Array 的操作方法和 String 的操作方法老是弄混>_<,下面就对于这两个对象的常用操作方法进行比较~~ Array ☞ 操作方法 concat():returns a new a ...
- JavaScript 中有关Array操作的一些函数
JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素. 要取得Array的长度,直接访问length属性: var arr = [1, 0.222, 'Hi', null, ...
- Array操作的方法
//concat连接数组连接一个或多个数组 //var a = [1,2,3]; //var c=[4,5] //var b = a.concat(c); //console.log(b); //jo ...
- Numpy-数组array操作
array是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的. 每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象). 数组的形 ...
随机推荐
- postgres使用pg_ctl 命令
想要用pg_ctl等一系列的命令,需要配置环境变量: PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/pgsql/binexport PGDATA=/ ...
- python、第七篇:ORM框架SQLAlchemy
一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取 ...
- hdu4405 概率dp
飞行棋游戏 问从0结束游戏的投色子次数期望是多少 设dp[i]表示i到n的期望,那么可以得到dp[i]=(dp[i+1]+dp[i+2]+dp[i+3]+dp[i+4]+dp[i+5]+dp[i+6] ...
- linux服务器上如何使用nginx访问本地静态资源
查看80端口是否被占用,一般80端口多被apache服务占用. netstat -anp|grep 80 2.修改apache服务的端口号 vim /etc/apache2/ports.conf 3. ...
- 火焰图(Flame Graphs)的安装和基本用法
火焰图(Flame Graphs) 一.概述: 火焰图(flame graph)是性能分析的利器,通过它可以快速定位性能瓶颈点. perf 命令(performance 的缩写)是 Linux 系统原 ...
- thinkPHP5.0.22初体验---request相关用法
如果浏览器要返回美观排列的json数据,可以安装火狐浏览器的插件 返回XML的数据格式 渲染模板的用法 return $this->fetch('index/index2')效果 扒掉stirp ...
- 阅读之Java多线程
Java多线程 用多线程只有一个目的,就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现. 多线程:指的是这个程序(一个进程)运行时产生了不止一个线程 并行与并发: 并行:多个cpu ...
- hiho #1485 : hiho字符串(滑动窗口)
#1485 : hiho字符串 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 如果一个字符串恰好包含2个'h'.1个'i'和1个'o',我们就称这个字符串是hiho字符 ...
- 什么叫AOP(面向切面编程)?
spring的AOP面向切面编程,实现在不改变代码的情况下完成对方法的增强.比较常用的就是spring的声明式事务管理,底层通过AOP实现,避免了我们每次都要手动开启事物,提交事务的重复性代码,使得开 ...
- OpenCV笔记(6)(harris角点检测、背景建模)
一.Harris角点 如上图所示,红色框AB都是平面,蓝色框CD都是边缘,而绿色框EF就是角点. 平面:框往X或Y抽移动,变化都很小. 边缘:框沿X或Y轴移动,其中一个变化很小,而另外一个变化比较大. ...