西门子828d授权密钥破解经验分享 I7I54833762

2023-09-18 09:45:49

操作数组的方法
Array.prototype.toSorted(compareFn) //返回一个新数组,其中元素按升序排序,而不改变原始数组。
Array.prototype.toReversed() //返回一个新数组,该数组的元素顺序被反转,但不改变原始数组。
Array.prototype.toSpliced(start,deleteCount,item1…,itemN) //返回一个新数组,在给定索引处删除和/或替换了一些元素,而不改变原始数组。
新增的这三个数组方法分别对标以下原有的以下三个方法,它们与原先方法的区别就是:执行它们并不会影响原先的数组

Array.prototype.sort(compareFn)
Array.prototype.reverse()
Array.prototype.splice(start,deleteCount,item1…,itemN)
toSorted
compareFn:指定一个定义排序顺序的函数。如果省略,则将数组元素转换为字符串,然后根据每个字符的 Unicode 码位值进行排序。

compareFn(a, b) 返回值 排序顺序
> 0 a 在 b 后,如 [b, a]
< 0 a 在 b 前,如 [a, b]
=== 0 保持 a 和 b 原来的顺序
const arr = [5,7,8,61,24,32,42,35]
//不传入参数
const sortArr1 = arr.toSorted()
//传入箭头函数 a:比较的第一个元素,b:比较的第二个元素
const sortArr2 = arr.toSorted((a,b)=>a-b)

console.log(arr) //[5, 7, 8, 61, 24, 32, 42, 35]
console.log(sortArr1) //[24, 32, 35, 42, 5, 61, 7, 8]
console.log(sortArr2) //[5, 7, 8, 24, 32, 35, 42, 61]
toReversed
const arr = [5,7,8,61,24,32,42,35]

const reverseArr = arr.toReversed()

console.log(arr) //[5, 7, 8, 61, 24, 32, 42, 35]
console.log(reverseArr) //[35, 42, 32, 24, 61, 8, 7, 5]
toSpliced
start

从 0 开始计算的索引,表示要开始改变数组的位置,它会被转换为整数。

如果 start < 0,则从数组末尾开始计数,使用 start + array.length。
如果 start < -array.length 或者省略了 start,则使用 0。
如果 start >= array.length,不会删除任何元素,但该方法将表现为添加元素的函数,添加提供的所有元素。
deleteCount 可选

一个整数,指示数组中要从 start 删除的元素数量。

如果 deleteCount 被省略了,或者如果它的值大于或等于由 start 指定的位置到数组末尾的元素数量,将会删除从 start 到数组末尾的所有元素。但是,如果你想要传递任何 itemN 参数,则应向 deleteCount 传递 Infinity 值,以删除 start 之后的所有元素,因为显式的 undefined 会转换为 0。

如果 deleteCount 是 0 或者负数,则不会删除元素。在这种情况下,你应该指定至少一个新元素(见下文)。

item1, …, itemN 可选

元素将从 start 开始添加到数组当中。

如果你没有指定任何元素,toSpliced() 只会从数组中删除元素。

const arr = [5,7,8,61,24,32,42,35]
//插入元素
const insertArr = arr.toSpliced(0,0,7)
//删除元素
const deleteArr = arr.toSpliced(0,1)

//替换元素
const replaceArr = arr.toSpliced(0,1,7)

console.log(arr) //[5, 7, 8, 61, 24, 32, 42, 35]
console.log(insertArr) //[7, 5, 7, 8, 61, 24, 32, 42, 35]
console.log(deleteArr) //[7, 8, 61, 24, 32, 42, 35]
console.log(replaceArr) //[7, 7, 8, 61, 24, 32, 42, 35]
浏览器兼容性
操作数组方法

查找数组元素的方法
Array.prototype.findLast(compareFn) //方法反向迭代数组,并返回满足提供的测试函数的第一个元素的值。如果没有找到对应元素,则返回 undefined。
Array.prototype.findLastIndex() //方法反向迭代数组,并返回满足提供的测试函数的第一个元素的下标索引。如果没有找到对应元素,则返回 undefined。
callbackFn

数组中测试元素的函数。回调应该返回一个真值,表示已找到匹配的元素,否则返回一个假值。函数在被调用时会传递以下参数:

element

当前遍历到的元素。

index

当前遍历到的元素的索引(位置)。

array

调用 findLast() 的数组本身。

findLast
const arr = [5,7,8,61,24,32,42,35]

console.log(arr.findLast(a=>a === 5))
findLastIndex
const arr = [5,7,8,61,24,5,32,42,35]

console.log(arr.findIndex(a=>a === 5)) //0

console.log(arr.findLastIndex(a=>a === 5)) //5
浏览器兼容性
数组查找方法

二、WeakMap支持键值类型新增
新增Sybmol类型来作为WeakMap的Key,助于对象被垃圾收集
const symbol= Symbol(‘foo’)

const weakMap = new WeakMap()

weakMap.set(symbol,51)

weakMap.get(symbol) //51
浏览器兼容性
symbol01

symbol02

三、Hashbang 语法
Hashbang 注释是一种特殊的注释语法,其行为与单行注释 (//) 完全一样,只是它以 #! 开头,并且只在脚本或模块的最开始处有效。注意,#! 标志之前不能有任何空白字符。注释由 #! 之后的所有字符组成直到第一行的末尾;只允许有一条这样的注释。JavaScript 中的 hashbang 注释类似于 Unix 中的 shebang,它提供了一个特定的 JavaScript 解释器的路径,用它来执行这个脚本。

// 写在脚本文件第一行
#!/usr/bin/env node
‘use strict’;
console.log(1);

// 写在模块文件第一行
#!/usr/bin/env node
export {};
console.log(1);
这样就可以直接运行脚本代码了

以前执行脚本

node demo.js

有了 hashbang 之后执行脚本

./demo.js
只有当脚本直接在 shell 中运行时,Hashbang 语法才有语意意义,其他环境下 JavaScript 解释器会把它视为普通注释。

更多推荐

Docker ~ 从入门到入坑。

Docker~从入门到入坑。文章目录Docker~从入门到入坑。Docker实用篇。0.学习目标。1.初识Docker。1.1.什么是Docker。1.1.1.应用部署的环境问题。1.1.2.Docker解决依赖兼容问题。1.1.3.Docker解决操作系统环境差异。1.1.4.小结。1.2.Docker和虚拟机的区别

2023/9/20总结

mavenmaven本质是一个项目管理工具将项目开发和管理过程抽象成一个项目对象模型(POM)POM(ProjectObjectModel)项目对象模型作用项目构建提供标准的自动化项目构建方式依赖管理方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题统一开发结构提供标准的、统一的项目结构安装Maven–

二、链表(linked-list)

文章目录一、定义二、经典例题(一)[21.合并两个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists/description/)1.思路2.复杂度分析3.注意4.代码(二)[86.分割链表](https://leetcode.cn/problems/par

【错误记录】Android Studio 中最新的 Gradle 配置中设置插件依赖 ( 2023 年 8 月 24 日 | 最新 Gradle 中配置插件依赖的变化 | 增加 Maven 仓库源 )

文章目录一、最新Gradle中配置插件依赖的变化二、报错信息三、增加Maven仓库源五、使用老版本方式导入插件一、最新Gradle中配置插件依赖的变化当前最新的AndroidStudio开发环境,生成的Gradle配置脚本使用了最新API,用起来不太习惯;根目录下的build.gradle构建脚本变成了下面的样式,单纯

【错误记录】Android Studio 创建 Module 模块报错 ( Cannot resolve external dependency org.jetbrains.kotlin:kotl )

文章目录一、报错信息二、解决方案目前使用的是最新的Gradle配置,创建Module生成的源码与Gradle配置出现了冲突,导致的问题;解决此类问题,要仔细检查Gradle构建脚本,排查每个依赖库的来源;本次错误就是AS系统自动成的Module修改了Gradle构建脚本,导致依赖下载失败;一、报错信息在AndroidS

亚马逊云科技打造SAP核心业务系统上云最佳实践,加快业务转型和价值实现

数字化转型步入深水区,企业竞争日益激烈,乘云而上、快速进行现代化转型和创新,才能不断紧跟趋势变化,实现「高质量发展」。作为亚马逊云科技全球战略合作伙伴,SAP和亚马逊云科技的联合创新已超过15年,双方共同为SAP客户的关键业务型工作负载提供支持,持续助力企业数字化转型。如今,全球有数以千计的企业将SAP核心业务系统运行

前端工程师路上的宝藏:不可错过的进阶必读文章!

JavaScript《javascript高级程序设计》核心知识总结必要性:⭐️⭐️⭐️⭐️难度:⭐️⭐️⭐️⭐️谏言:建议初学者先读一两遍红宝石书(即JavaScript高级程序设计),犀牛书可以暂时不看(读起来有点累)ES6入门教程必要性:⭐️⭐️⭐️⭐️⭐️难度:⭐️⭐️⭐️⭐️⭐️谏言:阮大佬的开源精品,强推!

如何在Ubuntu中挂载新硬盘

参考:如何在Ubuntu中挂载新硬盘_笔记大全_设计学院ubuntu将大于2T硬盘挂载到/home目录并使其永久生效的详细操作步骤_ubuntu挂载硬盘到home目录_菲玛的博客-CSDN博客win10+ubuntu18.04home目录扩容方法_ubuntu增加home空间_cfreeze的博客-CSDN博客1、检测

【二分法查找】

使用二分法查找需要注意的点:使用二分法的前提:数组为有序数组,同时题目还强调数组中无重复元素。二分法经常写乱,主要是因为对区间的定义没有想清楚,区间的定义就是不变量。要在二分查找的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是循环不变量规则。写二分法,区间的定义一般为两种

clickhouse简单安装部署

目录前言(来源于官方文档):一.下载并上传1.下载地址:点我跳转下载2.上传至Linux二.解压和配置1.解压顺序注意:必须按照以下顺序解压,并且每解压一个都要执行该解压后文件的install/doinst.sh文件解压步骤:三.启动1.启动服务2.启动客户端四.建表语法与clickhouse数据类型1.建表语法2.数

UI设计师面试时如何自我介绍优漫动游

学会了UI设计技术,接下来的计划就是要找工作了,UI设计在面试环节的自我介绍很重要,有时候一分钟的自我介绍已经足够让HR判断出你适不适合他们公司,那做为一名UI设计师面试时如何自我介绍呢?来看看下面的详细介绍。UI设计师面试时如何自我介绍UI设计师面试时如何自我介绍:怎么做好一次自我介绍?1、自我介绍内容:结合面试岗位

热文推荐