• 简单了解JS 中的indexOf方法


    indexOf() 方法返回指定值在字符串对象中首次出现的位置。从 fromIndex 位置开始查找,如果不存在,则返回 -1。

    首先先看下MDN下的参考文档,文档里列出的很详细,这里我只列出了注意点;

    1)String对象下的方法

    语法:

    str.indexOf(searchValue[, fromIndex])

    区分大小写:

    indexOf 方法区分大小写。例如,下面的表达式返回 -1:

    1 "Blue Whale".indexOf("blue") // returns -1

    检测是否存在某字符串:

    当检测某个字符串是否存在于另一个字符串中时,可使用下面的方法:

    1 "Blue Whale".indexOf("Blue") !== -1; // true
    2 "Blue Whale".indexOf("Bloe") !== -1; // false12

    详细文档请戳这里String.prototype.indexOf()

    2)Object对象下的方法

    语法:

    arr.indexOf(searchElement[, fromIndex = 0])

    详细文档请戳这里Array.prototype.indexOf();

    indexOf()方法在判断比较值得注意的是,indexOf 使用strict equality (无论是 ===, 还是 triple-equals操作符都基于同样的方法)进行判断searchElement与数组中包含的元素之间的关系;需要使用(===)

    3)举例子

    var array = [2, 5, 9];
    array.indexOf(2);     // 0 下标位置
    array.indexOf(7); // -1

     上面的例子中, 0 是 2 在字符串中出现的位置。起始下标是 0。而 -1 代表未匹配。

    1 var indices = [];
    2 var array = ['a', 'b', 'a', 'c', 'a', 'd'];
    3 var element = 'a';
    4 var idx = array.indexOf(element);
    5 while (idx != -1) {
    6   indices.push(idx);
    7   idx = array.indexOf(element, idx + 1);
    8 }
    9 console.log(indices);// [0, 2, 4]

    上面的例子是找出指定元素出现的所有位置。

     4)String和Number类型的使用

    先来个例子

    1 var numStr = '2016';
    2 numStr.indexOf('2'); //0
    3 numStr.indexOf(2); //0

    看到这里大家是否有所思考?数字,字符,这不是转换了么?

    看来在执行过程中是把数字2转换成字符串'2'了。

    然后在顺路看一下这个

    1 var num = 2016;
    2 num.indexOf(2); 

    最后的结果输出什么呢?是输出0还是其他的答案?

    那就来看看谷歌控制台的结果吧!

    哇哦,报错了,结果就不能进行隐士转换咯!

    错误信息显示不是一个函数,Uncaught TypeError: num.indexOf is not a function

     那正确的使用方法是什么呢?请看下面代码

    1 //方法一
    2 num = '2016';
    3 num.indexOf(2); //0
    4 
    5 //方法二
    6 num.toString().indexOf(2); //0
    7 
    8 //方法三
    9 (num+'').indeOf(2);//0

    以上三种写法看个人喜爱选择哪种咯!反正我是怎么方便怎么来。

     参考链接:http://www.jb51.net/article/94627.htm

          http://blog.163.com/very_apple/blog/static/2775923620109273237597/

    感谢上面两位博主!

  • 相关阅读:
    矩阵的应用
    PyTorch工具
    python不同开根号速度对比
    GloVe损失函数的理解
    课程回顾-Convolutional Neural Networks
    课程回顾-Structuring Machine Learning Projects
    课程回顾-Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
    课程回顾-Neural Network & Deep Learning
    使用GOOGLE COLAB训练深度学习模型
    如何使用Keras的Model visualization功能
  • 原文地址:https://www.cnblogs.com/anniey/p/6214719.html
Copyright © 2020-2023  润新知