我有一个带有文本框的页面,用户应输入24个字符(字母和数字,不区分大小写)注册码.我曾经maxlength限制用户输入24个字符.
注册码通常以短划线分隔的字符组给出,但我希望用户输入没有短划线的代码.
如何在没有jQuery的情况下编写我的JavaScript代码来检查用户输入的给定字符串是否包含破折号,或者更好的是,只包含字母数字字符?
我在使用JavaScript.我想存储一个唯一的,无序的字符串值列表,其中包含以下属性:
我真正想要的是一套.有关在JavaScript中模拟集合的最佳方法的任何建议吗?
这个问题建议使用一个Object,键存储属性,并且值都设置为true:这是一种明智的方法吗?
我想在Javascript中有一组对象.也就是说,只包含唯一对象的数据结构.
通常建议使用属性,例如myset["key"] = true.但是,我需要将键作为对象.我已经读过Javascript将属性名称转换为字符串,所以我想我不能使用myset[myobject] = true.
我可以使用数组,但我需要比O(n)性能更好的东西来添加,查找和删除项目.
它需要能够通过引用分开对象,因此给出:
var a = {};
var b = {};
Run Code Online (Sandbox Code Playgroud)
那么这两个a和b应该能够被添加,因为它们是独立的对象.
基本上,我正在使用类似C++的东西std::set,它可以存储Javascript对象.有任何想法吗?
我想在JavaScript中使用可用于存储ID数量的数据结构.我应该能够检查该集合中是否存在密钥,例如Java集合.
我希望得到如下相同的行为(此代码在Java中):
Set<String> st = new HashSet<String>();
//add elemets
if(st.contains("aks") ){
//do something
}
Run Code Online (Sandbox Code Playgroud)
我想要一个JavaScript/dojo等价的上述代码.
在阅读了许多类似问题后:
我还有一个问题:假设我有一个很大的字符串数组(几千个),我必须进行多次查找(即多次检查一个给定的字符串是否包含在这个数组中).在Node.js中执行此操作的最有效方法是什么?
A.排序字符串数组,然后使用二进制搜索?要么:
B.将字符串转换为对象的键,然后使用"in"运算符
?
我知道A的复杂度是O(log N),其中N是字符串的数量.
但我不知道B的复杂性.
如果Javascript对象被实现为哈希表,则B的复杂度平均为O(1),这比A好.但是,我不知道Javascript对象是否真的实现为哈希表!
仅存储唯一值的最佳数据类型是什么?数组可以有重复项
[one, one, two]
Run Code Online (Sandbox Code Playgroud)
并且一个对象(?可能是错误的术语)对于我当前的情况有不必要的值
{one: something, two: something, three: something}
Run Code Online (Sandbox Code Playgroud)
很快,我需要这样的东西:
{one, two, three}
Run Code Online (Sandbox Code Playgroud)
我不确定它叫什么,或者它是否确实存在于js中。需要一些启示。