查找某个字符串是否是另一个子集。使用indexOf存在问题。

var arr=["/lessonplanmgt", "/lessonplan/lessonplanpackage/teacher/audit", ""];里面查找是否有"/lessonplan/lessonplanpackage/teacher"首先想到的是使用indexOf查找字符串。

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

首先用toString()把数组转为字符串。然后在用indexOf去查找。

看上面的例子。子字符串分明不在里面但是判断他是不是不存在的-1.他却返回了false。

于是我就有测试一下她能找到的话位置在哪里呢?

15的位置的话 。他认为"/lessonplan/lessonplanpackage/teacher/audit"这个的位置就是他首次出现的位置。

所以这样写就错了啊。我们要的是完全一样的才算是含有啊!!!!

 

于是想起数组的一个方法includes。

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

这样我都不要把数组再转为字符串啊。

var arr=["/lessonplanmgt", "/lessonplan/lessonplanpackage/teacher/audit", ""];

var str="/lessonplan/lessonplanpackage/teacher";

arr.includes(str)   ---结果是false

你可能感兴趣的:(数组对象)