GVKun编程网logo

jQuery.inArray(),如何正确使用它?(jquery inarray)

4

本文将分享jQuery.inArray的详细内容,并且还将对,如何正确使用它?进行详尽解释,此外,我们还将为大家带来关于ID锁如此重要,如何正确使用它?、indexOf()使用方法以及与jQuery.

本文将分享jQuery.inArray的详细内容,并且还将对,如何正确使用它?进行详尽解释,此外,我们还将为大家带来关于ID锁如此重要,如何正确使用它?、indexOf()使用方法以及与 jQuery.inArray()的区别、javascript – 如何正确使用jquery val()来匹配CSS选择器、javascript – 我应该使用jQuery.inArray()吗?的相关知识,希望对你有所帮助。

本文目录一览:

jQuery.inArray(),如何正确使用它?(jquery inarray)

jQuery.inArray(),如何正确使用它?(jquery inarray)

第一次合作,jQuery.inArray()行为有点奇怪。

如果对象在数组中,它将返回0,但是Javascript中的0为false。因此,将输出以下内容: “不在数组中”

var myarray = [];myarray.push("test");if(jQuery.inArray("test", myarray)) {    console.log("is in array");} else {    console.log("is NOT in array");}

我将不得不将if语句更改为:

if(jQuery.inArray("test", myarray)==0)

但这使代码不可读。特别是对于不知道此功能的人。他们期望当“ test”在数组中时,jQuery.inArray(“ test”,myarray)为true。

所以我的问题是,为什么要这样做呢?我真的不喜欢这个。但是一定有充分的理由这样做。

答案1

小编典典

inArray返回数组中元素的索引,而不是指示数组中是否存在该项的布尔值。如果找不到该元素,-1将返回。

因此,要检查项目是否在数组中,请使用:

if(jQuery.inArray("test", myarray) !== -1)

ID锁如此重要,如何正确使用它?

ID锁如此重要,如何正确使用它?

ID锁也叫做激活锁,一旦在设备上开启了ID锁,您的iPhone上即增加了防盗功能。您可以在您的iOS设备上启用“查找我的iPhone”功能,启用之后, 您的Apple ID便会安全地存储在Apple的激活服务器上并链接到您的设备。此后,任何人都必须先输入您的密码,才能关闭您设备上的“查找我的 iPhone”、抹掉您设备上的数据或重新激活并使用您的设备。

这意味着,如果您给设备设置了ID锁,iPhone或者iPad不慎遗失或者被盗,此功能能让任何人都不能轻易使用或者出售的您的设备。

所以,ID锁对于我们来说非常重要,在使用的时候一定要注意:

1.请在购买设备之前或者拿到设备的第一时间,在苹果官网注册一个属于自己的Apple ID,并牢牢记住账号和密码,您可以使用常用邮箱或者手机进行注册。此外,您还需要设置安全问题,请记住安全问题的答案。如果后面不慎忘记账号或者密码,这些信息可以帮您找回。

2.当您初次使用设备时,需要激活设备或者登陆iCloud,并打开“查找我的设备“功能,一定不要使用他人的Apple ID,也不要让他人使用账号进行登陆或者激活。一旦使用别人的账号进行登陆,当密码被修改后,您不知道密码是无法关闭ID锁的,也无法正常使用设备。

建议您在拿到设备之后,立即登录自己的ID锁,并开启“查找我的iPhone”功能。

3.在使用iPhone过程中,您可能会收到假冒的苹果客服向您发送邮件、短信,以此来骗取您的Apple ID。一般是让您登录一个网站,但这些网站并非是苹果官方网站(您可以从域名中看出问题)。遇到此类信息一概不理会,苹果客服也绝对不会向您索要ID锁的密码。特别是当设备被盗之后,骗子往往通过这种方式获取ID锁密码,一旦告知对方或者登录了相关的诈骗网站,设备将无法找回,您设备内的资料也会泄露。

4.不要在设备上登录任何陌生人的Apple ID。有些人可能以帮忙刷机、分享资源等借口,让一些新手用户在设备上登录Apple ID,一旦登录之后,便立刻修改密码,导致设备不能正常使用,这些骗子再对用户进行敲诈勒索。

5.在购买二手iPhone的时候,如果您不确定或者无法检验设备上是否有开启ID锁,就不要购买了。有些设备上的ID锁可能通过越狱或者其它技术手段被隐藏,如果不刷机是看不出来的。如果您不能当场刷机进行检测,或者对方不提供售后,最好不要购买,避免造成损失。

indexOf()使用方法以及与 jQuery.inArray()的区别

indexOf()使用方法以及与 jQuery.inArray()的区别

indexof()函数用于查找子字符串在当前字符串中第一次出现的位置。该函数属于string对象,所有主流浏览器均支持该函数。

语法

stringObject.indexOf( substring [, startIndex ] )

参数

substring    String类型需要查找的子字符串。    

startIndex    可选/Number类型在当前字符串中查找的起始索引,默认为0。    

返回值

indexOf()方法的返回值为Number类型,返回子字符串在当前字符串中第一次查找到的起始位置(索引)。

如果没有找到,则返回-1。

实例:

var str = "CodePlayer";
// 查找"Code",返回其第一次出现位置的起始索引
var index = str.indexOf("Code");
document.writeln(index); // 0
str = "jjkgdsgsabcgdhgdhj";
index = str.indexOf("j");
document.writeln(index); // 0
str = "abcsdjh230acabc";
// 从索引5处("j")开始查找"abc"
index = str.indexOf("abc", 5);
document.writeln(index); // 12
str = "abc";
index = str.indexOf("code");
// 找不到返回-1
document.writeln(index); // -1
登录后复制

indexOf() 和 lastIndexOf() 是js的用法,与jquery是无关的,所有直接用原生js就可以了。

indexOf() 和 lastIndexOf() 方法返回的都是指定的子串在另一个字符串中的位置,如果没有找不到子串,则返回 -1。
这两个方法的不同之处在于,indexOf() 方法是从字符串的开头(位置 0)开始检索字符串,而 lastIndexOf() 方法则是从字符串的结尾开始检索子串。

strObj.indexOf(subString[, startIndex]) 参 数 strObj 必选项。String 对象或文字。 subString 必选项。要在 String 对象中查找的子字符 串。 starIndex 可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。

说明 indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。 如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。 从左向右执行查找。否则,该方法与 lastIndexOf 相同。

例子: [CODE_HTML] [/CODE_HTML] 最后得到的结果是-1,0,3

if(ss.indexOf(''winner'')>-1)
strobj.indexOf(substring[, startindex])
其中strobj是必选项。string 对象或文字

indexOf() 与 jQuery.inArray()

1.indexOf ()

当无法确定在某个字符串中是否确实存在一个字符的时候,就可调用 indexOf() 和 lastIndexOf() 方法。
indexOf() 和 lastIndexOf() 方法返回的都是指定的子串在另一个字符串中的位置,如果没有找不到子串,则返回 -1。
这两个方法的不同之处在于,indexOf() 方法是从字符串的开头(位置 0)开始检索字符串,而 lastIndexOf() 方法则是从字符串的结尾开始检索子串。

2.jquery.inArray()

jQuery.inArray(value, array) 确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 )。返回值:Number

例如:

var arr = [ "shtnl", "html", "js", "nodejs" ];  
$.inArray("js", arr);  //返回 2,
登录后复制

   如果不包含在数组中,则返回 -1;

以上就是indexOf()使用方法以及与 jQuery.inArray()的区别的详细内容,更多请关注php中文网其它相关文章!

javascript – 如何正确使用jquery val()来匹配CSS选择器

javascript – 如何正确使用jquery val()来匹配CSS选择器

我有一个带有一些输入和附加CSS的表单,它使用属性值选择器根据值更改输入的背景颜色.

<!DOCTYPE html>
<html>
  <head><style>
    input[value="foo"] { background-color: red; }
  </style></head>
  <body>
    <form>
     <input value="foo" />
     <button/>
    </form>
  </body>
</html>

如果我在加载时使用foo作为值,就像在代码中一样,加载时字段将为红色,但如果我更改它,它将保持红色.同样的事情,如果我将输入的值更改为foo,它将不会更改背景颜色.

类似地,如果我在jQuery中使用.val().显然,在这些情况下,“动态”值会发生变化,而CSS则指的是“静态”值.

$('button').on('click', function(ev) {
  ev.preventDefault();
  $('input[value="foo"]').val('bar');
  // $('input[value="bar"]').val('baz'); // nothing is found
});

我希望这段代码可以将字段从foo更改为bar,然后将bar更改为baz,但是在第二个选择器中找不到该字段.

如果我使用attr方法,事情似乎有效,但在jQuery文档中(以及SO上的许多答案),val是要走的路.

为什么会这样,为什么我要使用val()呢?

解决方法:

“Why is it so…”

这是一个属性选择器,更新.value属性时属性不会更改,因此您需要显式更改属性.

$('button').on('click', function(ev) {
  ev.preventDefault();
  $('input[value="foo"]').val('bar').attr("value", "bar");
  $('input[value="bar"]').val('baz');
});
input[value="foo"] {
  background-color: red;
}

input[value="bar"] {
  background-color: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>

<form>
  <input value="foo" />
  <button/>
</form>

但是,当用户更改值时,除非您连接.on(“input”…处理程序以保持属性与属性同步),否则这不起作用.

$("input").on("input", function() {
  this.setAttribute("value", this.value);
});
input[value="foo"] {
  background-color: red;
}

input[value="bar"] {
  background-color: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>

<form>
  Change the value to "bar"
  <input value="foo" />
</form>

“…and why shall I use val() at all?”

只需通过属性保留原始值即可获取和设置值.

要求它们同步并不是那么常见.按值选择DOM有点像文本内容的DOM选择.它不是经常需要的,有时候有更好的方法来解决问题.

javascript – 我应该使用jQuery.inArray()吗?

javascript – 我应该使用jQuery.inArray()吗?

我在对象数组中进行非常频繁的搜索,并且一直在使用jQuery.inArray().然而,我有速度和内存问题,根据我的分析器最常用的方法之一是jQuery.inArray().这个词在街上有什么表现?我应该切换到一个简单的循环?

我的具体功能是:

function findPoint(point,list)
{
  var l = list.map(function anonMapToId(p) { return p.id });
  var found = jQuery.inArray(point.id,l);
  return found;
}

可能是list.map()更怪吗?

解决方法

在内部的inArray做一个简单的循环,我建议你检查是否有一个本机 Array.prototype.indexOf实现,并使用它而不是inArray如果可用:
function findPoint(point,list) {
  var l = list.map(function anonMapToId(p) { return p.id });
  var found = ('indexOf' in Array.prototype) ? l.indexOf(point.id)
                                             : jQuery.inArray(point.id,l);
  return found;
}

在实现JavaScript 1.6的浏览器中引入了Array.prototype.indexOf方法,它将成为ECMAScript 5标准的一部分.

本地实现方式比非本地实现方式更快.

今天关于jQuery.inArray,如何正确使用它?的讲解已经结束,谢谢您的阅读,如果想了解更多关于ID锁如此重要,如何正确使用它?、indexOf()使用方法以及与 jQuery.inArray()的区别、javascript – 如何正确使用jquery val()来匹配CSS选择器、javascript – 我应该使用jQuery.inArray()吗?的相关知识,请在本站搜索。

本文标签: