当前位置:网站首页>这些数组技巧,我爱了
这些数组技巧,我爱了
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;
});
边栏推荐
- cocos2d-x-3.2 image graying effect
- DSPE-PEG-Azide DSPE-PED-N3 磷脂-聚乙二醇-叠氮脂质PFG
- WeChat applet source code acquisition and decompilation method
- 多元线性回归方程原理及其推导
- 数据预处理、特征工程和特征学习-摘抄
- 自然语言处理相关list
- mPEG-DSPE 178744-28-0 Methoxy-polyethylene glycol-phosphatidylethanolamine linear PEG phospholipids
- Tensorflow相关list
- cv2.resize()是反的
- Filter out egrep itself when using ps | egrep
猜你喜欢

计算图像数据集均值和方差

MySQL 入门:Case 语句很好用

Cholesterol-PEG-Amine CLS-PEG-NH2 Cholesterol-Polyethylene Glycol-Amino Research Use

cv2.imread()

科学研究用磷脂-聚乙二醇-活性酯 DSPE-PEG-NHS CAS:1445723-73-8

CAS: 1403744-37-5 DSPE-PEG-FA Phospholipid-Polyethylene Glycol-Folic Acid for Scientific Research

MW:3400 4-Arm PEG-DSPE 四臂-聚乙二醇-磷脂一种饱和的18碳磷脂

JS写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数JS

mPEG-DMPE 甲氧基-聚乙二醇-双肉豆蔻磷脂酰乙醇胺用于形成隐形脂质体

【解决问题】RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at non-singleton
随机推荐
UiBot has an open Microsoft Edge browser and cannot perform the installation
Numpy常用函数
MYSQL事务与锁问题处理
【解决问题】RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at non-singleton
360 hardening file path not exists.
Natural language processing related list
使用 OpenCV 提取图像的 HOG、SURF 及 LBP 特征 (含代码)
DSPE-PEG-Azide DSPE-PED-N3 Phospholipid-Polyethylene Glycol-Azide Lipid PFG
CLS-PEG-FITC Fluorescein-PEG-CLS 胆固醇-聚乙二醇-荧光素简介
拒绝采样小记
Cholesterol-PEG-Azide CLS-PEG-N3 胆固醇-聚乙二醇-叠氮 MW:3400
Pytorch常用函数
Attention based ASR(LAS)
科学研究用磷脂-聚乙二醇-活性酯 DSPE-PEG-NHS CAS:1445723-73-8
TransactionTemplate 事务编程式写法
MYSQL transaction and lock problem handling
Pytorch学习笔记7——处理多维特征的输入
OpenCV中的图像数据格式CV_8U定义
应用usb_cam同时打开多个摄像头方法
Redis-哈希