vue中的this.$nextTick().then()

news2024/9/28 15:31:01

MENU

  • 示例一
  • 示例二
  • sort
  • splice
  • push
  • random
  • floor
  • Math
  • while
  • 演示


示例一

let reorganize = function (arr){
	let rest = [];
	while (arr.length > 0) {
		let random = Math.floor(Math.random() * arr.length);
		// 把获取到的值放到新定义的数组中
		rest.push(arr[random]);
		// 这句代码的作用是改变获取随机数的最大值,
		// 防止获取到数组长度之外的随机数
		// 同时也是限制了重复获取
		// 删除原数组中已经获取到的数值
		arr.splice(random, 1);
	}
	return rest;
};

console.log(reorganize([1, 2, 3, 5, 6, 8, 4, 9, 7]));

示例二

let shuffleArray = (arr) => arr.sort(() => Math.random() - 0.5),
	arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
	arr2 = [
		{
			id: 1,
			name: '张三'
		},
		{
			id: 2,
			name: '李四'
		},
		{
			id: 3,
			name: '王五'
		},
		{
			id: 4,
			name: '赵六'
		},
		{
			id: 5,
			name: '半晨'
		}
	];

console.log(shuffleArray(arr1));
console.log(shuffleArray(arr2));

sort

w3school

sort()方法对数组的项目进行排序。
排序顺序可以是按字母或数字,也可以是升序(向上)或降序(向下)。
默认情况下,sort()方法将按字母和升序将值作为字符串进行排序。
这适用于字符串(Apple出现在Banana之前)。但是,如果数字按字符串排序,则25大于100,因为2大于1
正因为如此,sort() 方法在对数字进行排序时会产生不正确的结果。
您可以通过提供“比较函数”来解决此问题。
sort()方法会改变原始数组。


MDN

sort()方法就地对数组的元素进行排序,并返回对相同数组的引用。默认排序是将元素转换为字符串,然后按照它们的UTF-16码元值升序排序。
由于它取决于具体实现,因此无法保证排序的时间和空间复杂度。
如果想要不改变原数组的排序方法,可以使用toSorted()。


splice

MDN

splice()方法通过移除或者替换已存在的元素和/或添加新元素就地改变一个数组的内容。
要创建一个删除和/或替换部分内容而不改变原数组的新数组,请使用toSpliced()。要访问数组的一部分而不修改它,参见slice()。


w3school

splice()方法向/从数组添加/删除项目,并返回删除的项目。
splice()方法会改变原始数组。

push

MDN

push方法将指定的元素添加到数组的末尾,并返回新的数组长度。


w3school

push方法向数组末尾添加新项目,并返回新长度。
新的项目将被添加到数组的末尾。
push方法会改变数组的长度。
如需在数组的开头添加项目,请使用unshift方法。


random

MDN

Math.random()函数返回一个浮点数,伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。


w3school

random()方法返回从0(含)到1(不含)的随机数。


floor

MDN

Math.floor()函数总是返回小于等于一个给定数字的最大整数。


w3school

floor()方法将数字向下舍入为最接近的整数,并返回结果。
如果传递的参数是整数,则不会舍入该值。
floor()方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。


Math

MDN

Math是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math不是一个函数对象。
Math用于Number类型。它不支持BigInt。
与其他全局对象不同的是,Math不是一个构造器。Math的所有属性与方法都是静态的。引用圆周率的写法是Math.PI,调用正余弦函数的写法是Math.sin(x)x是要传入的参数。Math的常量是使用JavaScript中的全精度浮点数来定义的。


w3school

Math对象允许执行数学任务。
Math不是构造函数。Math的所有属性/方法都可以通过使用Math作为对象来调用,而无需创建它。


while

w3school

while循环会一直循环代码块,只要指定的条件为true


MDN

while语句可以在某个条件表达式为真的前提下,循环执行指定的一段代码,直到那个表达式不为真时结束循环。


演示

1.1.3X

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1284109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode每日一题学习训练——Python3版(从二叉搜索树到更大和树)

版本说明 当前版本号[20231204]。 版本修改说明20231204初版 目录 文章目录 版本说明目录从二叉搜索树到更大和树理解题目代码思路参考代码 原题可以点击此 1038. 从二叉搜索树到更大和树 前去练习。 从二叉搜索树到更大和树 给定一个二叉搜索树 root (BST),请…

网络安全卫士:上海迅软DSE的员工上网管理策略大揭秘!

在日常办公中,企业员工可能会在互联网上有意或无意的将一些包含内部重要信息的内容发布出去,从而造成不必要的违规及泄密风险,因此对终端用户进行规范的上网行为管理,既能有效预防重要数据泄密,同时也能提高员工办公效…

Java数据结构之《直接插入排序》(难度系数75)

一、前言: 这是怀化学院的:Java数据结构中的一道难度中等的一道编程题(此方法为博主自己研究,问题基本解决,若有bug欢迎下方评论提出意见,我会第一时间改进代码,谢谢!) 后面其他编程题只要我写完…

新书推荐——《Copilot和ChatGPT编程体验:挑战24个正则表达式难题》

《Copilot和ChatGPT编程体验:挑战24个正则表达式难题》呈现了两方竞争的格局。一方是专业程序员David Q. Mertz,是网络上最受欢迎的正则表达式教程的作者。另一方则是强大的AI编程工具OpenAI ChatGPT和GitHub Copilot。 比赛规则如下:David编…

OpenResty(nginx+lua+resty-http)实现访问鉴权

OpenResty(nginxluaresty-http)实现访问鉴权 最近用BI框架解决了一些报表需求并生成了公开链接,现在CMS开发人员打算将其嵌入到业务系统中,结果发现公开链接一旦泄露任何人都可以访问,需要实现BI系统报表与业务系统同步的权限控制。但是目前…

7、Qt延时的使用

一、说明 平时用到两种延时方式QThread::sleep()和QTimer::singleShot() 1、QThread::sleep() QThread类中如下三个静态函数: QThread::sleep(n); //延迟n秒 QThread::msleep(n); //延迟n毫秒 QThread::usleep(n); //延迟n微妙 这种方式使用简单,但是会阻…

X540t2关于手动安装intel驱动

首先去intel驱动官网下载,win10和win11驱动一样 https://www.intel.cn/content/www/cn/zh/download/18293/intel-network-adapter-driver-for-windows-10.html 然后下载下来解压 将Wired_driver_28.2_x64.exe修改成Wired_driver_28.2_x64.zip文件再解压 打开设备管…

[Mac软件]HitPaw Video Converter 功能强大的视频格式转换编辑软件激活版

软件介绍: 以令人难以置信的速度将无损视频和音乐转换为1000多种格式:MP4、MOV、AVI、VOB、MKV等。不仅适用于普通编解码器,也适用于高级VP9、ProRes和Opus编码器。这解决了您不支持格式的所有问题,并允许您在任何平台和设备上播…

语义分割 DeepLab V1网络学习笔记 (附代码)

论文地址:https://arxiv.org/abs/1412.7062 代码地址:GitHub - TheLegendAli/DeepLab-Context 1.是什么? DeepLab V1是一种基于VGG模型的语义分割模型,它使用了空洞卷积和全连接条件随机(CRF)来提高分割…

SQL手工注入漏洞测试(PostgreSQL数据库)-墨者

———靶场专栏——— 声明:文章由作者weoptions学习或练习过程中的步骤及思路,非正式答案,仅供学习和参考。 靶场背景: 来源: 墨者学院 简介: 安全工程师"墨者"最近在练习SQL手工注入漏洞&#…

10、pytest通过assert进行断言

官方实例 # content of test_assert1.pydef f():return 3def test_function():assert f() 4def test_assert_desc():a f()# assert a % 2 0assert a % 2 0, "value was odd, should be even"解读与实操 pytest允许你使用标准python断言来验证测试中的期望和值&…

【工具使用-Audition】如何使用Audition频谱分析

一,简介 本文以Audition 2020为例,介绍如何生成频谱分析的图像。 二,操作步骤 使用快捷键“shift D” 三,总结 本文主要介绍如何查看频谱分析,供参考。

不会代码(零基础)学语音开发(语音控制双色LED)

语音开发板到手后,跟着说明做一遍。例程:语音控制双色LED! 首先,进行固件烧录。 资料中已经给了固件,按照手册中的说明进行烧录即可。整体感受还挺简单,认真读手册即可实现。 需要注意的事项&#xff1a…

C语言——交换两个int变量的值,不能使用第三个变量。

交换两个int变量的值&#xff0c;不能使用第三个变量。即 a3,b5,交换之后a5,b3; #include<stdio.h> int main() {int a3;int b5;printf("a%d b%d\n",a,b);aa^b;ba^b;aa^b;printf("a%d b%d\n",a,b); } “^”——按位异或操作符&#xff0c;这里的按…

【ArcGIS Pro微课1000例】0048:深度学习--人群计数

文章目录 一、小学回忆录二、深度学习计算人头数三、案例实现一、小学回忆录 加载配套实验数据包中的图片及训练模型。你还记得当年的小学毕业班有多少同学吗?今天我们就用ArcGIS提供的人工智能工具,重温一下童年记忆。 二、深度学习计算人头数 本案例使用到的是深度学习中…

应急响应-挖矿病毒处理

应急响应-挖矿病毒处理 使用top​命令实时监控占用CPU资源的是哪个进程&#xff0c;结果可以看到是2725这个进程。 ​​ 再使用netstat -anltp命令查看网络连接状态&#xff0c;定位到对应的PID号后&#xff0c;就拿到了远程地址 ​​ 拿到远程IP&#xff0c;结果是VPN入口…

智能指针与动态内存

动态内存 new placement new 是 C 中的一种内存分配方式&#xff0c;它允许在给定的内存地址上构造对象&#xff0c;而不是在默认的堆上分配新的内存。这对于某些特殊的内存管理场景非常有用&#xff0c;例如在特定的内存池中分配对象。 C11 引入了 "new auto" 语法…

Jupyter NoteBook未授权访问漏洞

任务一&#xff1a; 复现未授权访问的漏洞 任务二&#xff1a; 利用Jupter Notebook控制台执行系统命令&#xff0c;读取/etc/passwd内容 1.搭建环境 2.new下面直接进入终端&#xff0c;而且也不需要登录&#xff0c;我就直接进入了管理界面 3.直接把指令输入进入&#xf…

5个非常良心好用的软件工具,适合各种场景

​ 本期给大家分享5个非常良心好用的软件工具&#xff0c;适合各种场景&#xff0c;能够高效提升你的学习和办公效率&#xff01; 1.多窗口管理——Multrin ​ Multrin是一款多窗口管理软件&#xff0c;可以将不同的应用程序窗口组合成一个标签页&#xff0c;方便在多任务场景…

无惧泄密:揭秘上海迅软DSE防拷贝大杀器!

对于企事业单位而言&#xff0c;文档的安全保护不仅要从源头上进行&#xff0c;杜绝文档在使用、传播过程中产生的泄密风险&#xff0c;同时也要对文档内容本身进行保护。为防止有心人通过拷贝、截屏、拍照等方式盗窃走重要文档内容信息的情况&#xff0c;天锐绿盾文件防泄密软…