相关疑难解决方法(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万
查看次数

检查JavaScript对象中是否存在密钥?

如何检查JavaScript对象或数组中是否存在特定键?

如果某个密钥不存在,并且我尝试访问它,它会返回false吗?或抛出错误?

javascript object

2750
推荐指数
20
解决办法
181万
查看次数

如何检查字符串数组是否包含JavaScript中的一个字符串?

我有一个字符串数组和一个字符串.我想针对数组值测试此字符串并应用条件结果 - 如果数组包含字符串do"A",否则执行"B".

我怎样才能做到这一点?

javascript arrays string testing

221
推荐指数
5
解决办法
42万
查看次数

如何在字符串数组中搜索字符串

在其他帖子中搜索答案后,我觉得我必须问这个问题.我看了如何检查数组是否包含JavaScript中的对象? 以及查找项目是否在JavaScript数组中的最佳方法?并且无法让代码在那里工作.

我正在将一个html嵌入代码捕获到一个数组中,因此每个项目都是一行html代码.

例如:

i[0]='<param name=\"bgcolor\" value=\"#FFFFFF\" />'
i[1]='<param name=\"width" value=\"640\" />'
i[2]='<param name=\"height\" value=\"360\" />'   
i[3]='more html code' 
Run Code Online (Sandbox Code Playgroud)

我想搜索这个数组,找到"高度"这个词的行.

理想情况下,我想编写一个函数来返回出现'height'的项目的索引.

幸运的是,此数组中没有重复项,因此只有一次出现.

通过简单的对象搜索我得到'假'回报.

任何的想法?

javascript arrays search

43
推荐指数
4
解决办法
13万
查看次数

如果在x中的Javascript

可能重复:
在Javascript数组中测试值在JavaScript数组
中查找项目的最佳方法?
Javascript - array.contains(obj)

我通常在python中编程,但最近开始学习JavaScript.

在python中,这是一个完全有效的if语句:

list = [1,2,3,4]
x = 3
if x in list:
    print "It's in the list!"
else:
    print "It's not in the list!"
Run Code Online (Sandbox Code Playgroud)

但是我在Javascript中做了同样的事情.

如何在JavaScript中检查x是否在列表中?

javascript

33
推荐指数
3
解决办法
4万
查看次数

有没有比使用jQuery更好的搜索JavaScript数组的方法?

我经常需要搜索包含对象的javascript数组.我想在数组中搜索具有属性匹配的对象.例如,在Person对象的数组中搜索person的id/key ==="ABC123"

使用$ .each方法使用jQuery可以很容易地完成它,这是我所确定的.你可以在jsFiddle中看到这里的例子.http://jsfiddle.net/johnpapa/EJAFG/

我想知道是否有其他人找到了更快和/或更好的方法来做到这一点?

var Person = function(code, name) {
    this.code = code;
    this.name = name;
};
var people = [
    new Person("ABC123", "Tooth Fairy"),
    new Person("DEF456", "Santa Claus"),
    new Person("PIR000", "Jack Sparrow"),
    new Person("XYZ987", "Easter Bunny")
    ];

var utils = {};
// Could create a utility function to do this
utils.inArray = function(searchFor, property) {
    var retVal = -1;
    $.each(this, function(index, item) {
        if (item.hasOwnProperty(property)) {
            if (item[property].toLowerCase() === searchFor.toLowerCase()) {
                retVal = index;
                return false;
            } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

16
推荐指数
3
解决办法
8444
查看次数

Bootstrap Typeahead仅允许列表值

是否可以将用户的选择限制为Bootstrap Typeahead项的预定义数据源项?因此,如果用户键入了不在数据源中的内容,则会显示一条消息,通知他们这样做?

这是演示:http://cruiseoutlook.com/test

javascript jquery twitter-bootstrap

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

是数组js中的元素

在一个老问题之后,我仍然有一个问题:

a = ["apple", "banana", "orange", "apple"];

a.indexOf("apple") = 0
Run Code Online (Sandbox Code Playgroud)

在数组中找到"apple"元素的BOTH索引的最简单方法是什么?我想立刻删除它们 - 这可能吗?

javascript jquery

11
推荐指数
2
解决办法
775
查看次数

一个有效的Javascript集结构

在阅读了许多类似问题后:

我还有一个问题:假设我有一个很大的字符串数组(几千个),我必须进行多次查找(即多次检查一个给定的字符串是否包含在这个数组中).在Node.js中执行此操作的最有效方法是什么?

A.排序字符串数组,然后使用二进制搜索?要么:

B.将字符串转换为对象的键,然后使用"in"运算符

我知道A的复杂度是O(log N),其中N是字符串的数量.

但我不知道B的复杂性.

如果Javascript对象被实现为哈希表,则B的复杂度平均为O(1),这比A好.但是,我不知道Javascript对象是否真的实现为哈希表!

performance node.js

8
推荐指数
2
解决办法
3738
查看次数

JavaScript 中的 .find() 和 .includes() 有什么区别?

我正在尝试创建一个名为 addTrack 的方法,具有以下功能:

\n\n
    \n
  • 接受轨道参数
  • \n
  • 使用 track\xe2\x80\x99s id 属性检查\n当前歌曲是否处于 playlistTracks 状态
  • \n
  • 如果 id 是新的,则将歌曲添加到播放列表的末尾。

  • \n
  • 设置播放列表的新状态。

  • \n
\n\n

如果我使用代码 #1 而不是代码 #2,会有什么区别?

\n\n

PlaylistTracks 在构造函数中定义如下:

\n\n
playlistTracks: [{ name: 'name1', artist: 'artist1', album: 'album1', id: 1 },\n        { name: 'name2', artist: 'artist2', album: 'album2', id: 2 },\n      ]\n
Run Code Online (Sandbox Code Playgroud)\n\n

代码#1

\n\n
addTrack(track){\nif (this.state.playlistTracks.includes(this.props.track.id)) {return;}\nelse {this.state.playlistTracks.push(track);\n  this.setState({playlistTracks:this.state.playlistTracks});\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

}

\n\n

代码#2

\n\n
addTrack(track) {\nif (this.state.playlistTracks.find(savedTrack => savedTrack.id===track.id) {return;}\nelse {return this.state.playlistTracks.push(track);}\nthis.setState(playlistTracks:this.state.playlistTracks)}\n
Run Code Online (Sandbox Code Playgroud)\n

javascript jsx reactjs

8
推荐指数
1
解决办法
9338
查看次数