关于建筑建设的网站,制作公司网页平台,网店运营实训报告,google官方网站注册说说你常用的技术栈#xff1f; ajax解决跨域问题的方法#xff1f;jsonp的主要实现原理#xff1f; 点击页面某个按钮#xff0c;将原本一行显示的内容分成两行#xff0c;如何实现#xff1f; 怎样实现段首缩进#xff1f;值是什么#xff1f; 如何实现文本限制显示两… 说说你常用的技术栈 ajax解决跨域问题的方法jsonp的主要实现原理 点击页面某个按钮将原本一行显示的内容分成两行如何实现 怎样实现段首缩进值是什么 如何实现文本限制显示两行多出来的用省略号表示 js ‘ ’ 和 ‘’ 举个栗子 js数组去重的方法至少说三种ES6 set,双层递归排序后与左右两边进行比较 js中 字符串 数值 ‘3’ 3 字符串-数值’3‘-3 字符数 ’a‘ 3 NaN 数组去重
方法一先排序后去重
function delSame (arr){var arr1 arr.sort();var res [arr1[0]];var len arr1.length;for(var i1;ilen;i ){if(arr1[i]!res[res.length-1]){res.push(arr1[i]);}}return res;
}console.log(delSame([2,4,1,4]));
res保存原数组的第一个数值然后从arr中第二位开始的数字开始和res中已经保存的数字进行比较如果不重复就把arr[i]加入res数组中去。
方法二
Array.prototype.uniquefunction(){var res [];var json {};for(var i0;ithis.length;i ){if(!json[this[i]]){res.push(this[i]);json[this[i]]1;}}return res;
};
var arr [112,112,34,你好,112,112,34,你好,str,str1];
console.log(arr.unique());
1.如果arr[i]是第一次出现就把它当做对象的属性并赋值为1 2.继续遍历每次去对象中找arr[i]如果存在这个属性说明重复了否则将它加入对象并给新属性赋值为1再推入res[]中
更多专业前端知识请上
【猿2048】www.mk2048.com