找出JavaScript数组是否包含对象的最简洁有效的方法是什么?
这是我知道的唯一方法:
function contains(a, obj) {
for (var i = 0; i < a.length; i++) {
if (a[i] === obj) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
有没有更好,更简洁的方法来实现这一目标?
这与Stack Overflow问题密切相关问题在JavaScript数组中查找项目的最佳方法是什么?它使用的方法寻找数组中的对象indexOf.
javascript arrays algorithm time-complexity javascript-objects
我怎么能做这样的事情:
<script type="text/javascript">
$(document).ready(function () {
if(window.location.contains("franky")) // This doesn't work, any suggestions?
{
alert("your url contains the name franky");
}
});
</script>
Run Code Online (Sandbox Code Playgroud) 如果您在这里阅读jQuery inArray页面上的注释,那么有一个有趣的声明:
!!~jQuery.inArray(elm, arr)
Run Code Online (Sandbox Code Playgroud)
现在,我相信双感叹号会将结果转换为类型boolean,值为true.我不明白的是,~在所有这些中使用了tilde()运算符是什么?
var arr = ["one", "two", "three"];
if (jQuery.inArray("one", arr) > -1) { alert("Found"); }
Run Code Online (Sandbox Code Playgroud)
重构if声明:
if (!!~jQuery.inArray("one", arr)) { alert("Found"); }
Run Code Online (Sandbox Code Playgroud)
分解:
jQuery.inArray("one", arr) // 0
~jQuery.inArray("one", arr) // -1 (why?)
!~jQuery.inArray("one", arr) // false
!!~jQuery.inArray("one", arr) // true
Run Code Online (Sandbox Code Playgroud)
我也注意到,如果我把波浪号放在前面,结果是-2.
~!!~jQuery.inArray("one", arr) // -2
Run Code Online (Sandbox Code Playgroud)
我不明白这里代字号的目的.有人可以解释一下或指向我的资源吗?
这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.
Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.
主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.
此外,这是PHP符号引用的公然副本.我们需要一个JS.
请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接
有谁知道在Javascript中更改文件扩展名的简单方法?
例如,我有一个带有"first.docx"的变量,但我需要将其更改为"first.html".
根据这篇文章,运行以下代码
> ~function () { console.log('foo');}()
foo
-1
Run Code Online (Sandbox Code Playgroud)
众所周知,上述匿名函数的返回值是undefined.为什么~undefined是-1?我找不到任何类似的问题.
我在一个页面上有多个列表(多个类别的产品),如下所示:
<h3>Category 1</h3>
<ul id="category1">
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
<h3>Category 2</h3>
<ul id="category2">
<li>item27</li>
<li>item28</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
列表的数量是可变的.
我想在http://static.railstips.org/orderedlist/demos/quicksilverjs/jquery.html上的演示页面上找到一个过滤器.
但它应该搜索不同的列表.
如果用户搜索"2",则结果应为:
<h3>Category 1</h3>
<ul id="category1">
<li>item2</li>
</ul>
<h3>Category 2</h3>
<ul id="category2">
<li>item27</li>
<li>item28</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如果他搜索"1"那么它应该是(不显示没有结果的列表的h3标题):
<h3>Category 1</h3>
<ul id="category1">
<li>item1</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?
提前致谢!
(function () {
var names = [];
return function (name) {
addName(name);
}
function addName(name) {
if (!~names.indexOf(name))//
names.push(name);
console.log(names);// ["linkFly"]
}
}())('linkFly');
Run Code Online (Sandbox Code Playgroud)
有时我看到这个逻辑,这是什么意思?谢谢〜
我有这样的条件:
if (foo == 'fgfg' || foo == 'asdf' || foo == 'adsfasdf') {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
当然有更快的方式来写这个?
谢谢.
我必须在下拉列表(ul)中单击253项(li)中的相同21个.
滚动我将不得不为500多个页面上的相同列表执行此操作,我想我可以Javascript注入每个ul,循环并单击每个li恰好是21之一.看来我做不了类似的事情
if(item[i] === ('aasdf'|'basdf'|'cwefw'|'asdfd'|'trehe'|'ferth'|'erthg'|'erthh'|'ierth'|'jeth'|'kerth'|'lerth'|'merth'|'psdfg'|'gregq'|'rsrgs'|'sress'|'srget'|'sergu'|'sdfgsv'))
Run Code Online (Sandbox Code Playgroud)
是否有一种语法上更清晰的方式来编写下面这个丑陋的if语句?
var item = document.getElementById('myDropdownList').getElementsByTagName('li');
for (i=0;i<item.length;i++){
if(item[i].innerText === 'Argentina' | item[i].innerText === 'Australia' | item[i].innerText === 'Brazil' | item[i].innerText === 'Canada' | item[i].innerText === 'China' | item[i].innerText === 'Colombia' | item[i].innerText === 'France' | item[i].innerText === 'Germany' | item[i].innerText === 'Indonesia' | item[i].innerText === 'India' | item[i].innerText === 'Italy' | item[i].innerText === 'Japan' | item[i].innerText === 'Malaysia' | item[i].innerText === 'Mexico' | item[i].innerText === 'Philippines' | item[i].innerText === 'Russia' …Run Code Online (Sandbox Code Playgroud) javascript ×9
jquery ×3
algorithm ×1
arrays ×1
filter ×1
html-lists ×1
if-statement ×1
methods ×1
operands ×1
operators ×1
undefined ×1
url ×1