js判断js 判断某变量是否为某数组中的一个值的4种方法(总结),分享给大家。
function IsInArray(arr,val){
return arr.indexOf(val)!==-1;
}
var arr=[1,2,3];
IsInArray(arr,3);//true
注:IE8以下的Array并没有indexOf这个方法,解决办法,把一下代码放在你的indexOf方法的上面:
if(!Array.prototype.indexOf){
Array.prototype.indexOf = function(elt){
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0) ? Math.ceil(from) : Math.floor(from);
if(from < 0)
from += len;
for(; from < len; from++) {
if(from in this && this[from] === elt){
return from;
}
}
return -1;
};
}
Array.prototype.in_array=function(e){
var r=new RegExp(','+e+',');
return r.test(','+this.join(this.S)+',');
};
var arr = [1, 2, 3];
arr.in_array(3);//true
注:此函数只对字符和数字有效。
function IsInArray(arr, val) {
var rel=arr.find((v) => {
return v == val
});
return rel?true:false;
}
var arr = [1, 2, 3];
IsInArray(arr,3);//true
find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined, 是es6里的。除了上面形式,还可以通过arr.find(callback) 在回调中判断。
function IsInArray(arr, val,callback) {
arr.find(v => {
if (v === val){
callback()
}
})
}
var arr = [1, 2, 3];
IsInArray(arr,3,()=>{
console.log("arr数组中包含了3")
});
//arr数组中包含了3
Array.prototype.in_array = function (val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) {
return true;
}
}
return false;
}
var arr = [1, 2, 3];
arr.in_array(3)//true
该方法兼容性较好,也是平时开发中最常用的方式。
every、some、filter、map这几个方法有时候总是傻傻分不清,尤其map,总是一下子有点懵逼记不清和其他方法的区别,每次都需要查一下API,他们的相同点都是需要遍历数组中的每一项,重点是他们的区别.
ES6为Array增加了from函数用来将其他对象转换成数组,Array.from可以接受三个参数,我们看定义:Array.from(arrayLike [, mapFn [, thisArg]])。arrayLike:被转换的的对象。 mapFn:map函数。 thisArg:map函数中this指向的对象。
orEach是ES5中操作数组的一种方法,主要功能是遍历数组,forEach方法中的function回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身
数组总共有22种方法,本文将其分为对象继承方法、数组转换方法、栈和队列方法、数组排序方法、数组拼接方法、创建子数组方法、数组删改方法、数组位置方法、数组归并方法和数组迭代方法共10类来进行详细介绍
不改变原数组:concat();join();slice();toString(),改变原数组:pop();push();reverse();shift();unshift();sort();splice(),array.concat(array)连接两个或多个数组,返回被连接数组的一个副本
reduce属于javascript「synchronize同步」的array method,他就是把一整个array的所有内容,有顺序性的挤压squeeze最后变成一个值
在深入研究一些更高级的用法之前,让我们看一下slice方法的基础知识。如MDN文档,slice 是数组上的一个方法,它最多有两个参数,从该索引处开始提取原数组中的元素,如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取
push向数组末尾添加元素;unshift向数组开头增加元素;pop删除数组末尾一项;shift删除数组的第一项;join为数组添加指定的分隔符;slice找某一区域内的项,返回成新数组形式
任何一种编程语言都具有超出基本用法的功能,它得益于成功的设计和试图去解决广泛问题。JavaScript 中有一个这样的函数: Array.from:允许在 JavaScript 集合(如: 数组、类数组对象、或者是字符串
JavaScript实现普通数组去重,讲解各种算法的思想和改进方法,已经他们的优缺点...利用数组的reduce方法,使用了filter方法,利用ES6去重,相对来说更为简单
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!