相关疑难解决方法(0)

如何检查数组是否包含JavaScript中的对象?

找出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

3778
推荐指数
37
解决办法
241万
查看次数

如何检查URL是否包含给定的字符串?

我怎么能做这样的事情:

<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)

javascript url jquery

343
推荐指数
11
解决办法
63万
查看次数

怎么!!〜(不是不是波浪形/爆炸声波)改变'包含/包含'数组方法调用的结果?

如果您在这里阅读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 jquery operators bitwise-operators

93
推荐指数
10
解决办法
2万
查看次数

这个符号在JavaScript中意味着什么?

这是什么?

这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.

为什么是这样?

Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.

主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.

此外,这是PHP符号引用的公然副本.我们需要一个JS.


请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接

javascript

86
推荐指数
1
解决办法
14万
查看次数

如何使用javascript更改文件扩展名

有谁知道在Javascript中更改文件扩展名的简单方法?

例如,我有一个带有"first.docx"的变量,但我需要将其更改为"first.html".

javascript methods programming-languages

24
推荐指数
5
解决办法
3万
查看次数

为什么JavaScript中的"〜undefined"为-1?

根据这篇文章,运行以下代码

> ~function () { console.log('foo');}()
  foo
  -1
Run Code Online (Sandbox Code Playgroud)

众所周知,上述匿名函数的返回值是undefined.为什么~undefined-1?我找不到任何类似的问题.

javascript undefined

20
推荐指数
2
解决办法
462
查看次数

使用jQuery过滤多个<ul>列表

我在一个页面上有多个列表(多个类别的产品),如下所示:

<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)

有人能帮我吗?

提前致谢!

jquery multiple-instances filter html-lists

16
推荐指数
1
解决办法
2万
查看次数

什么是"!〜"在javascript中的含义

(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)

有时我看到这个逻辑,这是什么意思?谢谢〜

javascript

6
推荐指数
1
解决办法
5559
查看次数

更短的条件在js

我有这样的条件:

if (foo == 'fgfg' || foo == 'asdf' || foo == 'adsfasdf') {
// do stuff

}
Run Code Online (Sandbox Code Playgroud)

当然有更快的方式来写这个?

谢谢.

javascript

5
推荐指数
2
解决办法
289
查看次数

Javascript:使用OR操作数将SINGLE值与MULTIPLE值进行比较

可能重复:
针对具有多个允许条件的语句Javascript if语句列表检查变量相等性

我必须在下拉列表(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 if-statement operands

3
推荐指数
2
解决办法
1万
查看次数