判断数组中是否包含某个值这里有四种方法。
用的测试数据:

let arr=["a","b","c"];
let arr2={"a":"aaa","b":"bbb","c":"ccc"};

in判断是否在数组的key里
in操作符针对的是key,而非value。而对于普通的一维数组来说,key是隐藏的。所以,对于判断某个数组中是否含有某个值来说,这个方案并不合适。

console.log("1:","a" in arr);  // false
console.log("2:","aa" in arr); // false
console.log("3:",2 in arr); // true
console.log("4:",5 in arr); // false
console.log("5:","a" in arr2); // true
console.log("6:","aa" in arr2); // false

indexOf列表(字符串)是否包含
indexOf仅用于字符串、列表,不能用于JSON对象(字典)。

console.log("7:",arr.indexOf("c"));  // 2
console.log("8:",arr.indexOf("aa")); // -1
console.log("9:",arr2.indexOf("b")); //报错
console.log("10:",arr2.indexOf("aaa")); //报错

includes用于列表和字符串
includes仅用于字符串、列表,不能用于JSON对象(字典)。
返回值为布尔值。

console.log("11:",arr.includes("a"));  // true
console.log("12:",arr.includes("aa")); // false
console.log("13:",arr2.includes("a")); //报错
console.log("14:",arr2.includes("aa")); //报错

自定义函数inArray
自定义函数inArray可以用于数组,也可以用于对象。

function inArray(search,array){
for(var i in array){
if(array[i]==search){
return true;
}
}
return false;
}
console.log("15:",inArray("a",arr));
console.log("16:",inArray("aa",arr));
console.log("17:",inArray("a",arr2));
console.log("18:",inArray("bbb",arr2)

总结
数组是否包含某个值的判断方案有:includes/indexOf/inArray。
数组是否包含有个键的判断方案是:in。
对象是否包含某个属性值的方案是:inArray。
对象是否包含某个属性名的方案是:in。
数组或者对象通用的判断方式包括:in/inArray。

node js 判断数组中是否包含某个值的更多相关文章

  1. js判断数组中是否包含某个值

    /** * 判断数组中是否包含某个值 * @param arr 数组 * @param str 值 * @returns {boolean} */ function contains(arr, str ...

  2. Js 判断数组中是否包含某个值

    includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false. JavaScript Array includes() 方法

  3. js判断数组中是否包含某个元素

    参考:http://www.runoob.com/jquery/misc-inarray.html js判断数组中是否包含某个元素 $.inArray( value, array [, fromInd ...

  4. js 判断数组中是否包含某个元素(转载)

    来源:https://www.cnblogs.com/yunshangwuyou/p/10539090.html 方法一:array.indexOf(item,start):元素在数组中的位置,如果没 ...

  5. js 判断数组中是否包含某个元素

    vuex中结合使用v-if: 链接:https://www.cnblogs.com/hao-1234-1234/p/10980102.html

  6. js 判断数组中是否有重复值

    function arrHasvalue(arr) { var nary = arr.sort(); for (var i = 0; i < arr.length; i++) { if (nar ...

  7. js 判断数组中是否有某值

    function arrHasValue(v, arr) { var output = false; for (var i in arr) { if (v == arr[i]) { output = ...

  8. Jquery判断数组中是否包含某个元素$.inArray()的用法

    判断数组里面是否包含某个元素可以使用 $.inArray("元素(字符串)",数组名称) 进行判断 ,当存在该元素(字符串)时,返回该元素在数组的下标,不存在时返回 -1 示例代码 ...

  9. 161101、在Java中如何高效判断数组中是否包含某个元素

    如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种 ...

随机推荐

  1. pycharm开发flask指定ip、端口无效

    原因分析 是因为使用了pycharm的版本的问题.并不是flask框架本身的问题(不管你是如何设置的flask配置,通过加载config也好,还是通过run的时候传入形参也好,均不影响) 可以很明显的 ...

  2. Seekbar扩大点击区域

    //扩大点击区域private void enlargeSeekBar() { mContentView.setOnTouchListener(new OnTouchListener() {//mCo ...

  3. Spring Boot 2.x基础教程:找回启动日志中的请求路径列表

    如果您看过之前的Spring Boot 1.x教程,或者自己原本就对Spring Boot有一些经验,或者对Spring MVC很熟悉.那么对于Spring构建的Web应用在启动的时候,都会输出当前应 ...

  4. ubuntu16.04spyder闪退

    解决办法我试了好用 sudo pip install --upgrade html5lib==.0b8 完事.

  5. opencv:形态学操作-腐蚀与膨胀

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  6. AcWing 849. Dijkstra求最短路 I 朴素 邻接矩阵 稠密图

    //朴素Dijkstra 边权都是正数 稠密图:点和边差的比较多 #include<cstring> #include<iostream> #include<algori ...

  7. C 语言实例 - 判断三边能否构成三角形

    原理: 要判断输入的三条边能否够成三角形,只需满足条件两边之和大于第三边即可. #include<stdio.h> int main() { printf("请输入三个边长:\n ...

  8. jquery 获取 父级 iframe 里的控件对象

    window.parent.document.getElementsByTagName('iframe')[0].contentWindow.document.getElementById('id')

  9. opencv python:图像梯度

    一阶导数与Soble算子 二阶导数与拉普拉斯算子 图像边缘: Soble算子: 二阶导数: 拉普拉斯算子: import cv2 as cv import numpy as np # 图像梯度(由x, ...

  10. 1、TensorFlow如何工作?

    TensorFlow特殊的张量计算引擎使得TensorFlow能够很好的满足机器学习的计算需要,从2015年开始发起 本书基于TensorFlow0.12+和python3.0+ 环境安装要求 pip ...