js小技巧(数组处理)
admin
2024-03-18 11:30:49
0

1、你需要过滤掉错误值吗?

这个技巧肯定会帮助你摆脱错误值,例如 False、“ ”、0、undefined null。查看下面的示例代码以更好地理解。

//example codeconst array = [1, 0, false, "", 2, null, 3]const farray = array.filter(Boolean)console.log(farray) // [1, 2, 3]

2、去除重复

我们都在 JavaScript 编程中遇到过重复值,最常用的摆脱它们的方法是将 indexOf() 方法与循环结合使用。今天这个技巧将向你展示两种快速去除重复的方法。

//example code//method 1const array = [1, 2, 1, 3, 3, 2, 4, 5, 5, 6, 1]const farray=array.filter((item,idx,arr)=>arr.indexOf(item)===idx)console.log(farray) // [1, 2, 3, 4, 5, 6]//method 2const farray2 =[...new Set(array)];console.log(farray2) // [1, 2, 3, 4, 5, 6]

3、在 JavaScript 中截断数组

我主要使用这个技巧来缩短我的大数组或使其全空。我们将使用 Array 的长度参数并用一个值初始化它。该值可以是任何正数。

此值将根据你传递的大小截断你的数组。为了更好地理解,请看下面的示例代码。

// example codeconst arr1 = [1, 2, 3, 4, 6]arr1.length=2console.log(arr1) // [1, 2]const arr2 = [5, 4, 3, 9, 100, 101]arr2.length=0console.log(arr2) //[]const arr3 = [5, 4, 3, 9, 100, 101]arr3.length=7console.log(arr3) //[5, 4, 3, 9, 100, 101, undefined]

4、合并多个对象

假设你需要在 JavaScript 中将两个对象合并为一个,以使其获得更好的信息。对于此任务,你可以使用扩展运算符 (...)。此运算符由三个点 (...) 表示。

它在许多情况下非常有用,我们将通过将两个数组合并为一个来尝试其中之一。查看下面的示例代码。​​​​​​​

// example codelet employee = { 'id': 'S129', 'name': 'Haider', 'age': 22, 'addr': 'USA'}let job = {  'title': 'Software Engineer',  'location': 'Canada'}// merging them into one object// using spread operator let merge = {...employee, ...job}; console.log('Final Merged', merge);//output:// {//    'id': 'S129',//    'name': 'Haider',//    'age': 22,//    'addr': 'USA'//    'title': 'Software Engineer',//   'location': 'Canada'// }

5、使用析构的简单交换

在其他编程语言中,交换是在第三个变量(通常名为 temp)的帮助下完成的。但是在 JavaScript 中,你可以使用析构方法在两个对象之间进行交换。查看下面的代码示例以更好地理解。

// example codelet x = 5;let y = 9;console.log(x, y); // 5 9[x, y] = [y, x]; //swapingconsole.log(x, y); // 9 5

6、将十进制转换为十六进制和二进制

这个很棒的技巧将帮助你使用内置方法 toString() 将十进制转换为十六进制和二进制值。​​​​​​​

//example codeconst deci = 500console.log(deci.toString(2)) // 111110100console.log(deci.toString(16)) // 1f4console.log(deci.toString(8)) // 764

7、单行回文检查

这个短行代码技巧将教你如何检查一个字符串是不是回文。​​​​​​​

// example codefunction isPalindrome(str){  return str === str.split('').reverse().join('')
}console.log(isPalindrome("mom")) // trueconsole.log(isPalindrome("ball")) // falseconsole.log(isPalindrome("maham")) // true

8、带空格的 JSON 输出

使 JSON 更清晰的一种简单方法是以其格式提供空格和缩进。这个技巧将帮助你使JSON 代码看起来更清晰和可读。查看下面的代码示例。​​​​​​​

//example codeconst employee = {  name : "Haider",  age : 22,  salary : 500000}const jemployee = JSON.stringify(employee, null, 2)console.log(jemployee)//output:// {//  "name": "Haider",//  "age": 22,//  "salary": 500000// }

9、代码的执行时间

为了计算你的代码执行时间,这个技巧将向你介绍控制台的 time 和 timeEnd 方法。​​​​​​​

//example codeconsole.time("timer-1")var a = 20var b = 3for(let i = b; i < a; i++){  // do something}console.timeEnd("timer-1") // timer-1: 1ms

10、检查 isArray

如果你想检查你的对象是不是一个数组,那么,这个技巧会派上用场。我们将使用一个简单的 JavaScript 内置方法,它接受一个参数对象。​​​​​​​

//example codeconst array1 = [1, 3, 4, 5]console.log(Array.isArray(array1)) // trueconst array2 = {}console.log(Array.isArray(array2)) // false

11、JavaScript 中的快速 Power 方法

计算功率的一种方法是调用 Math.pow() 方法并传递值,但你也可以使用 **。​​​​​​​

//example codeconsole.log("New Method Power of 2 ^ 3 ", 2**3);   // 8 console.log("Old Method Power of 2 ^ 3 ", Math.pow(2,3));  //8

相关内容

热门资讯

师傅教徒弟的成语? 师傅教徒弟的成语?谆谆教导成语释义:谆谆:恳切、耐心的样子。恳切、耐心地教导。诲人不倦成语释义:诲:...
批评孩子孩子总是记不住,这是怎... 批评孩子孩子总是记不住,这是怎么回事我批评孩子好几遍,可他为啥就记不住呢?”相信许多家长都有过类似这...
后稷教稼的故事明白了什么 后稷教稼的故事明白了什么 农耕文明耀千古。农业始祖后稷教民稼穑,开创了光辉灿烂的农耕文化。后稷教...
可爱的近义词是什么 可爱的近义词是什么要九个以上近义词心爱、喜欢 可人 可心 乖巧 淘气 天真 ...
电影,刘德华和王祖贤演的,王祖... 电影,刘德华和王祖贤演的,王祖贤从古代穿越到现代的,请问叫什么名字啊摩登如来神掌因该是 摩登如来神...
小猪的爱好是 小猪的爱好是小猪罗志祥哒爱好昰收集物品:香水,帽子,手机休闲嗜好:打蓝球、游泳   特别专长:打鼓、...
政校联合推广活动——建德豆腐包... 2025年7月16日,建德市文广旅体局副局长王素平带领建德豆腐包协会走进了新东方烹饪学校杭州校区,2...
笼子里的老虎 笼子里的老虎如果笼子里的老虎跟野地里的老虎互换位置,结果会怎样结果,两只老虎会都死掉. 笼子里的老虎...
我的世界编辑器在哪下 我的世界编辑器在哪下可以在乐商店下,也可以在豌豆荚里下
风华月貌是什么意思? 风华月貌是什么意思?如果非要单字拆讲,那么:风,风度,举止端庄,风采(不必用丰采)。华,华贵,雍容华...
火影586集二代目火影抬手指是... 火影586集二代目火影抬手指是什么忍术水比术 我是小尾巴,来拿经验的...
红楼梦第七十五回贾珍听到的叹息... 红楼梦第七十五回贾珍听到的叹息声是谁发出的“况且那边又紧靠着祠堂”,所以那叹息声可认为是宁、荣二公显...
西安电子科技大学校园内有哪些地... 西安电子科技大学校园内有哪些地标性建筑?地标建筑在校生公认的是钟塔,在一群六层以下的建筑中高高耸起一...
太阳系为什么现在为八大行星 太阳系为什么现在为八大行星他们说得如此复杂.简单一点.一句话精简掉.冥王星过小.过远.轨道异于他者....
《姐姐的爱乐之程》翻车,《浪姐... 《姐姐的爱乐之程》翻车,《浪姐》的红利还能吃多久?《浪姐》的红利吃不了多久。因为《浪姐》的后期节目频...
荀子说“蓬生麻中,不扶而直;白... 荀子说“蓬生麻中,不扶而直;白沙在涅(黑泥),之俱黑”,而周敦颐则说莲“出淤泥而不染”。围绕“环境与...
求下《越人纹身》故事梗概及寓意 求下《越人纹身》故事梗概及寓意谢谢越人纹身庄子他们宋国人特别擅长制作衣帽,用现在的话说,名牌服饰不少...
《哪吒之魔童降世》票房突破20... 《哪吒之魔童降世》票房突破20亿!它靠什么取得这么辉煌的成绩?靠着比较精良的制作以及独特的剧情吧。因...
非常有名的言情小说作者和她们作... 非常有名的言情小说作者和她们作品的风格 形式如下: 浪漫主义唯美作者-顾漫 浪漫主义幻想作者 -虫小...
军队文职会计师专业课和助理会计... 军队文职会计师专业课和助理会计师考试内容一样吗?不一样,军队文职会计师专业课有宏微观经济学,财务管理...