网站首页 > 基础教程 正文
数组去重
1. new Set
var arr = [1,2,2,3,4,4,5];
console.log(new Set(arr));// Set(5) {1,2,3,4,5}
console.log(Array.from(new Set(arr)));// [1,2,3,4,5]
console.log([...new Set(arr)]);// [1,2,3,4,5]
2. indexOf
var arr = [1,2,2,3,4,4,5];
var newarr = [];
for(var i=0;i<arr.length;i++){
if(newarr.indexOf(arr[i]) == -1){
newarr.push(arr[i])
}
}
3. sort
var arr = [1,2,2,3,4,4,5];
arr = arr.sort();
var newarr = [];
for(var i=0;i<arr.length;i++){
if(arr[i] !== arr[i-1]){
newarr.push(arr[i])
}
}
console.log(newarr);// [1,2,3,4,5]
闭包
闭包:内部函数可以访问到外部函数的变量
变量会驻留在内存中,造成内存损耗问题,会存在内存泄漏(把闭包的函数设置为null)
function fn(){
var a=10;
return function(){
console.log(a);// 10
}
}
FN()();
for(var i=0;i<3;i++){
(function(i){
console.log(i)
})(i)
}
// 0
// 1
// 2
判断变量是不是数组
1. isArray
var str = 'a'
var data = [1,2];
console.log(Array.isArray(str));// false
console.log(Array.isArray(data));// true
2. instanceof
var str = 'a'
var data = [1,2];
console.log(str instanceof Array);// false
console.log(data instanceof Array);// true
// instanceof没isArray严谨
Array.isArray({});// false
data instanceof Object;// true
3. prototype
var str = 'a'
var data = [1,2];
console.log(Object.prototype.toString.call(str).indexOf('Array') > -1);// false
console.log(Object.prototype.toString.call(data).indexOf('Array') > -1);// true
4. isPrototypeOf
var str = 'a'
var data = [1,2];
console.log(Array.prototype.isPrototypeOf(str));// false
console.log(Array.prototype.isPrototypeOf(data));// true
5.constructor
var str = 'a'
var data = [1,2];
console.log(str.constructor.toString().indexOf('Array') > -1);// false
console.log(data.constructor.toString().indexOf('Array') > -1);// false
- 上一篇: JavaScript-js中对数组的常见操作
- 下一篇: ES6 中 Array 新增的方法有哪些?
猜你喜欢
- 2024-12-03 系列专栏:ES6简介
- 2024-12-03 ES6中扩展运算符的8种用法
- 2024-12-03 ES6!你没用过的新语法(附代码)
- 2024-12-03 ES6 解构赋值
- 2024-12-03 短小精悍的js数组操作
- 2024-12-03 数组、去重、排序、合并、过滤、删除
- 2024-12-03 JS——数组的方法 & 高阶函数
- 2024-12-03 ES6语法——解构赋值
- 2024-12-03 ES6 中 Array 新增的方法有哪些?
- 2024-12-03 JavaScript-js中对数组的常见操作
- 最近发表
-
- 在使用Bootstrap吗?快来看看如何使用 Bootswatch 主题吧
- 50个HTML5免费的Bootstrap模板 :下
- 定制你的bootstrap之--修改less文件1
- BootstrapBlazor :使用 .NET 生成交互式客户端 Web UI 的框架
- React与使用Bootstrap5模态框的注意事项
- 如何引用bootstrap没有的字体图标
- 10个超酷炫Bootstrap HTML & CSS UI工具包
- Bootstrap自举电路工作原理讲解(自举电路的原理)
- 为何 BootstrapVue 能成为 Vue 前端框架顶流?
- 新增 创意布局企业网络服务CSS模板 bootstrap 模板
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)