https://oss-images-1310293673.cos.ap-chongqing.myqcloud.com/static/2022/12/2022-12-09/WechatIMG146.png

ES2022 都有哪些新特性

ES2022 有哪些新特性! 1. Object.hasOwn() 在ES2022之前,可以使用Object.prototype.hasOwnProperty() 来检查一个属性是否属于对象。 Object.hasOwn特性是一种更简洁、更可靠的检查属性是否直接设置在对象上的方法: const example = { property: '123' } console.log(Object.prototype.hasOwnProperty.call(example,'property')); console.log(Object.hasOwn(example,'property')) // output: true true 该特性的浏览器支持如下所示: 2. at() at() 是一个数组方法,用于通过给定索引来获取数组元素。当给定索引为正时,这种新方法与使用括号表示法访问具有相同的行为。当给出负整数索引时,就会从数组的最后一项开始检索: const arr = [0,1,2,3,4]; console.log(arr[arr.length - 1]); // 4 console.log(arr.at(-1)); // 4 除了数组,字符串也可以使用at()方法进行索引: const str = "hello world"; console.log(str[str.length - 1]); // d console.log(str.at(-1)); // d

最长公共前缀

leetcode-14-最长公共前缀 题目地址 题目描述 编写一个函数来查找字符串数组中过的最长公共前缀。 如果不存在公共前缀,返回空字符串“”。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2: 输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。 提示: 1 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i] 仅由小写英文字母组成 解题思路 获取字符串数组中的最长公共前缀,就是取出字符串中的每一个子字符一一进行对比,如果都相同,则比较下一位子字符,否则终止对比。 具体思路如下: let curIndex = 0; 记录当前对比字符的下标 let curStr = “”; 记录当前比较的字符的值 let flag = true; 判断本次字符串比对是否全部相同 使用 while 循环,当 flag 为假时推出循环。 如果当前处理的是字符串数组中的第一个字符串,说明开始了一次新的循环,根据下标curIndex更新curStr。 否则通过curIndex获取当前的字符串和cueStr对比,如果不同,则flag = false推出循环。 如果处理到了字符串数组中的最后一个字符串,则说明本次循环成功,更新下标向后移一位。 当 while 循环结束时,说明已经获取到了第一个不满足条件的下标位置,根据curIndex截取第一个字符串。 代码实现 function longestComminPrefix(strs) { if (strs.length === 0) return ""; let len = strs.