当前位置:网站首页>这些数组技巧,我爱了
这些数组技巧,我爱了
2022-07-31 05:17:00 【Forevermoremo】
前言
数组是Javascript最常见的概念之一,它为我们提供了处理数据的许多可能性。恰当的数组处理技巧能够让我们编码事半功倍,接下来我们就来看看吧。
1.数组去重
前端面试最爱问的问题,哈哈哈。
》判断简单数组元素是否重复
function isRepeat(arr) {
var hash = {};
for (var i in arr) {
if (hash[arr[i]]) {
return true;
}
hash[arr[i]] = true;
}
return false;
}①利用ES6 Set去重
不考虑兼容性就可以用哦。
注:当对象内容相同时,由于存储地址不一样,所以没有去除。
function unique (arr) {
return Array.from(new Set(arr)); //当然还有它更简单的写法:[...new Set(arr)]
}
var arr = [1,1,undefined,undefined,null,null,NaN,NaN,{},{}];
console.log(unique(arr))//[1,undefined,null,NaN,{},{}]②利用indexOf去重
面试官叫手写实现数组去重时本人最最最爱的方法,当然也可以选择splice去重。
function unique(arr) {
if (!Array.isArray(arr)) {
console.log('type error!');
return;
}
var array = [];
for (var i = 0; i < arr.length; i++) {
if (array.indexOf(arr[i]) === -1) {
array.push(arr[i]);
}
}
return array;
}还有很多的方法的,这里就写两种吧。
2、空数组
var arr= ["a", "b", "c"];
arr.length = 0;3、合并数组
①concat
用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
var num1 = [1, 2, 3],
num2 = [4, 5, 6],
num3 = [7, 8, 9];
var nums = num1.concat(num2, num3); ②ES6 扩展操作符(…)
var num1 = [1, 2, 3],
num2 = [4, 5, 6],
num3 = [7, 8, 9];
var nums = [...num1, ...num2, ...num3];4、字符串与数组的相互转换
①字符串转数组 split
用指定分隔符对字符串进行切片,转换为若干个数组元素。
var str = '123,456,789';
var strArr = str.split(',');split应用:常用于在获取url后指定参数时
function GetRequest() {
var url = location.search.replace(/\s+/g, ""),
theRequest = {};
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[decodeURI(strs[i].split("=")[0])]=decodeURI(strs[i].split("=")[1]);
}
}
return theRequest; //以对象方式返回参数值
} ②数组转字符串 join
用指定分隔符对数组元素进行拼接,转换为一个字符串。
var strArr = ['abc', 'def', 'hig'];
var str = strArr.join(','); //当分隔符为‘,’时,与toString结果一致5、对满足条件的数组元素进行删除
filter
对数组的每一项都运行给定的函数,返回 结果为 ture 的项组成的数组。
var arr = ["apple", "orange","happy"];
var arrRes = arr.filter(function(v){
return v.length > 5;
});
边栏推荐
- CAS:474922-22-0 Maleimide-PEG-DSPE 磷脂-聚乙二醇-马来酰亚胺简述
- 科研试剂Cholesterol-PEG-Maleimide,CLS-PEG-MAL,胆固醇-聚乙二醇-马来酰亚胺
- pyspark.ml特征变换模块
- 深度学习知识点杂谈
- ERROR Error: No module factory availabl at Object.PROJECT_CONFIG_JSON_NOT_VALID_OR_NOT_EXIST ‘Error
- cv2.resize()是反的
- Cholesterol-PEG-Acid CLS-PEG-COOH 胆固醇-聚乙二醇-羧基修饰肽类化合物
- This in js points to the prototype object
- 超参数优化-摘抄
- unicloud cloud development record
猜你喜欢

化学试剂磷脂-聚乙二醇-氨基,DSPE-PEG-amine,CAS:474922-26-4

Pytorch常用函数

拒绝采样小记

mPEG-DSPE 178744-28-0 甲氧基-聚乙二醇-磷脂酰乙醇胺线性PEG磷脂

Navicat从本地文件中导入sql文件

unicloud 发布后小程序提示连接本地调试服务失败,请检查客户端是否和主机在同一局域网下

Flutter mixed development module dependencies

Cholesterol-PEG-Acid CLS-PEG-COOH 胆固醇-聚乙二醇-羧基修饰肽类化合物

MySQL 免安装版的下载与配置教程

科学研究用磷脂-聚乙二醇-活性酯 DSPE-PEG-NHS CAS:1445723-73-8
随机推荐
pyspark.ml feature transformation module
cocos2d-x implements cross-platform directory traversal
random.randint函数用法
DSPE-PEG-Azide DSPE-PED-N3 磷脂-聚乙二醇-叠氮脂质PFG
2021年软件测试面试题大全
VS通过ODBC连接MYSQL(一)
Redis-哈希
ROS之service传输图片
Pytorch实现ResNet
Cholesterol-PEG-Amine CLS-PEG-NH2 Cholesterol-Polyethylene Glycol-Amino Research Use
qt:cannot open C:\Users\XX\AppData\Local\Temp\main.obj.15576.16.jom for write
DSPE-PEG-Biotin,CAS:385437-57-0,磷脂-聚乙二醇-生物素可延长循环半衰期
2022 SQL big factory high-frequency practical interview questions (detailed analysis)
Podspec verification dependency error problem pod lib lint , need to specify the source
Tensorflow——演示
mPEG-DMPE Methoxy-polyethylene glycol-bismyristyl phosphatidylethanolamine for stealth liposome formation
Cholesterol-PEG-DBCO Cholesterol-Polyethylene Glycol-Diphenylcyclooctyne Chemical Reagent
WeChat applet source code acquisition and decompilation method
UiBot has an open Microsoft Edge browser and cannot perform the installation
Tencent Cloud GPU Desktop Server Driver Installation