我怎样才能有效地在Javascript中进行集合成员资格检查?我有一个可能很大的字符串数组,我需要验证给定的字符串是否是数组的成员.
最初我认为in运营商可以提供帮助,但在阅读Mozilla开发者网络上的文档后,我发现其目的不同.在Javascript中,它检查指定的属性是否在指定的对象中.
出于性能相关的原因,我更喜欢使用js内置,但是如果不存在这样的函数,我可能最终会做以下其中一项:
in任何意见?还是更好的想法?
谢谢
可能重复:
Javascript - array.contains(obj)
在JavaScript数组中查找项目的最佳方法?
我想检查一下列表或地图中的"the"这个词.这有什么内置功能吗?
我正在尝试将用户输入的值检查到输入文本字段中.一旦他们输入值并单击提交,如果他们输入的值与数组中的值匹配,我试图生成一个结果,如果不在数组中,则产生另一个结果.
基本上有这样一个简单的形式:
<form id="checkinput" action="#">
<input type="text" value="" id="couponcode" name="coupon code name"/>
<input type="button" id="submit" value="Submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)
单击"#submit"时,如果"#couponcode"输入字段中的值等于数组中的值,则将"成功"类添加到ID为"success_show"的div中,否则为"您的优惠券代码"添加简单提醒是错的"会显示.
我将有一个隐藏的div,并在成功后,为div添加一类"成功".
阵列将定期更改,并在不同时间具有不同的数量.像这样简单:
var arr = [ "CA238", "Pete", 8, "John" ];
Run Code Online (Sandbox Code Playgroud) 这是我用来返回重复元素的方式..但是当我的数组有大量带有长文本的项目时,我正面临着浏览器关闭等最危险的性能问题.
var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
var sorted_arr = arr.sort();
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
if (sorted_arr[i + 1] == sorted_arr[i]) {
results.push(sorted_arr[i]);
}
}
alert(results);
Run Code Online (Sandbox Code Playgroud)
请建议我这样做的最好方法
我需要评估一个变量并检查它是否等于其他两个变量之一。
我这样做:
if (a == b || a == c)
{
}
我觉得必须有一种更好的方法来以这种方式评估变量。有没有?
仅供参考:这是一个简单的测验,每个答案只有一个输入字段。
我有以下Java语言if语句,用于检查在输入字段中输入的值是否正确(在这种情况下,如果输入的值为“ england”)。
$('input').keyup(function () {
if ($(this).val().toLowerCase() == 'england') {
//Stuff
} else {
//Other Stuff
};
});
Run Code Online (Sandbox Code Playgroud)
但是,我想允许使用其他拼写,所以我需要为每个问题提供一些可能的答案-如此使用数组似乎是明智的……
var ans1 = new Array();
ans1[0] = "England";
ans1[1] = "Englund";
ans1[2] = "Ingland";
Run Code Online (Sandbox Code Playgroud)
如何更改我的if语句以说“如果输入字段值等于数组中的那些值中的任何一个,则执行以下操作”?
任何帮助将不胜感激!谢谢。
假设我有以下对象数组
var firstDataSet = [
{'id': 123, 'name': 'ABC'},
{'id': 456, 'name': 'DEF'},
{'id': 789, 'name': 'GHI'},
{'id': 101, 'name': 'JKL'}
];
var secondDataSet = [
{'id': 123, 'name': 'ABC', 'xProp': '1q'},
{'id': 156, 'name': 'MNO', 'xProp': '2w'},
{'id': 789, 'name': 'GHI', 'xProp': '3e'},
{'id': 111, 'name': 'PQR', 'xProp': '4r'}
];
Run Code Online (Sandbox Code Playgroud)
现在我想收集具有唯一对象(匹配id和name)ie 的数组
var firstDataSet = [
{'id': 123, 'name': 'ABC', 'xProp': '1q'},
{'id': 456, 'name': 'DEF'},
{'id': 789, 'name': 'GHI', 'xProp': '3e'},
{'id': 101, 'name': …Run Code Online (Sandbox Code Playgroud) 我需要2d数组,所以我做了嵌套数组,因为JavaScript不允许它们.
它们看起来像那样:
var myArray = [
[1, 0],
[1, 1],
[1, 3],
[2, 4]
]
Run Code Online (Sandbox Code Playgroud)
如何[0,1]在vanilla JS中检查此数组是否包含特定元素(即其中一个数组)?
这是我尝试过的,没有成功(一切都返回false)(编辑:我在答案中包含了答案):
var myArray = [
[1, 0],
[1, 1],
[1, 3],
[2, 4]
]
var itemTrue = [2, 4];
var itemFalse = [4, 4];
function contains(a, obj) {
var i = a.length;
while (i--) {
if (a[i] === obj) {
return true;
}
}
return false;
}
// EDIT : first answer's solution
function isArrayInArray(x, check) { …Run Code Online (Sandbox Code Playgroud)什么是搜索javascript数组的最佳方法?所有项目都是字符串.
它只是使用lastIndexOf吗?像这样:
var list= [];
list.push("one");
list.push("two");
list.push("three");
if(list.lastIndexOf(someString) != -1)
{
alert("This is already present in list");
return;
}
Run Code Online (Sandbox Code Playgroud) 我的 Discord bot 需要检查用户是否在服务器中。我正在使用 node.js 和 discord.js。
var USER_ID = randomNumbers
if (client.guild.member(USER_ID).exists){
do something
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
javascript ×10
arrays ×4
jquery ×3
collections ×1
comparison ×1
discord ×1
discord.js ×1
evaluation ×1
in-operator ×1
membership ×1
node.js ×1