js常用库函数
1.1Math.min()2空数组const resultnew Array(len)3n*n的数组let res Array.from({ length: n }, () Array(n).fill(0));或者let res new Array(n);for (let i 0; i n; i) res[i] new Array(n).fill(0);4js输入输出2.排序[1, 100, 20, 50].sort((a, b) a - b) // 升序 [1, 20, 50, 100][1, 100, 20, 50].sort((a, b) b - a) // 降序 [100, 50, 20, 1]3.数组操作1push和poppush()向Array的末尾添加若干元素pop()则把Array的最后一个元素删除掉let arr [1, 2]; arr.push(A, B); // 返回Array新的长度: 4 arr; // [1, 2, A, B] arr.pop(); // pop()返回B arr; // [1, 2, A] arr.pop(); arr.pop(); arr.pop(); // 连续pop 3次 arr; // [] arr.pop(); // 空数组继续pop不会报错而是返回undefined arr; // []2joinjoin()方法是一个非常实用的方法它把当前数组Array的每个元素都用指定的字符串连接起来然后返回连接后的字符串。eg:有时会把数组转化为字符串然后存在Set中当键值let arr [A, B, C, 1, 2, 3]; arr.join(-); // A-B-C-1-2-3 //或者 const arr2[] arr2.push([1,2,3],[4,5,6]);//arr2[[1,2,3],[4,5,6]] const snew Set() for(const triplet of arr2){ const triplet2triplet.join(,) s.add(triplet2);//Set{1,2,3,4,5,6} }4.SetSet和Map类似也是一组key可以数字可以字符的集合但不存储value。由于key不能重复所以在Set中没有重复的key。要创建一个Set需要提供一个数组Array作为输入或者直接创建一个空Setlet s1 new Set(); // 空Set let s2 new Set([1, 2, 3]); // 含1, 2, 3去重重复元素在Set中自动被过滤let s new Set([1, 2, 3, 3, 3]); s; // Set {1, 2, 3, 3}注意数字3和字符串3是不同的元素。通过add(key)方法可以添加元素到Set中可以重复添加但不会有效果s.add(4); s; // Set {1, 2, 3, 4} s.add(4); s; // 仍然是 Set {1, 2, 3, 4}通过delete(key)方法可以删除元素let s new Set([1, 2, 3]); s; // Set {1, 2, 3} s.delete(3); s; // Set {1, 2}使用has(key)可以判断有没有对应键值返回值为true或false5.MapMap是一组键值对的结构具有极快的查找速度。举个例子假设要根据同学的名字查找对应的成绩如果用Array实现需要两个Arraylet names [Michael, Bob, Tracy]; let scores [95, 75, 85];给定一个名字要查找对应的成绩就先要在names中找到对应的位置再从scores取出对应的成绩Array越长耗时越长。如果用Map实现只需要一个“名字”-“成绩”的对照表直接根据名字查找成绩无论这个表有多大查找速度都不会变慢。用JavaScript写一个Map如下let m new Map([[Michael, 95], [Bob, 75], [Tracy, 85]]); m.get(Michael); // 95初始化Map需要一个二维数组或者直接初始化一个空Map。Map具有以下方法let m new Map(); // 空Map m.set(Adam, 67); // 添加新的key-value m.set(Bob, 59); m.has(Adam); // 是否存在key Adam: true m.get(Adam); // 67 m.delete(Adam); // 删除key Adam m.get(Adam); // undefined由于一个key只能对应一个value所以多次对一个key放入value后面的值会把前面的值冲掉let m new Map(); m.set(Adam, 67); m.set(Adam, 88); m.get(Adam); // 88
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2443524.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!