Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中是否有Java集合的等价物?_Javascript_Collections_Letter - Fatal编程技术网

Javascript中是否有Java集合的等价物?

Javascript中是否有Java集合的等价物?,javascript,collections,letter,Javascript,Collections,Letter,我必须用Javascript将单词分解成字母集合。然后我需要能够I)检查一封信是否属于该集合,ii)逐步删除该集合的信件 例如,单词“cool”将分解为“c”、“o”、“o”、“l”。如果我删除“o”、“a”和“l”,我应该只剩下“c”、“o” 在Javascript中实现这一点的正确数据结构是什么?数组!只需按如下方式拆分字符串即可获得一个: var arr = "word".split(""); if ('cheese'.contains('che')) alert('Velviva

我必须用Javascript将单词分解成字母集合。然后我需要能够I)检查一封信是否属于该集合,ii)逐步删除该集合的信件

例如,单词“cool”将分解为“c”、“o”、“o”、“l”。如果我删除“o”、“a”和“l”,我应该只剩下“c”、“o”


在Javascript中实现这一点的正确数据结构是什么?

数组!只需按如下方式拆分字符串即可获得一个:

var arr = "word".split("");
if ('cheese'.contains('che'))
   alert('Velviva!');

var str = 'hurt'.remove('r');   // 'hut'
    str = 'banana'.remove('n'); // 'baana'
    str = 'happy'.remove('c');  // 'happy'
您可以使用
Array.prototype
中的方法来操作集合,就像您所说的那样。例如,要删除索引
1
处的字符:

arr.splice(1,1);
要使其再次成为字符串,请执行以下操作:

arr.join('');
如果只想从字符串中读取特定字符,可以直接访问其索引:

var str = "word";
str[1]; // "o"

还可以使用其他字符串方法来实现与数组相同的结果(请参阅)

一个数组!只需按如下方式拆分字符串即可获得一个:

var arr = "word".split("");
if ('cheese'.contains('che'))
   alert('Velviva!');

var str = 'hurt'.remove('r');   // 'hut'
    str = 'banana'.remove('n'); // 'baana'
    str = 'happy'.remove('c');  // 'happy'
您可以使用
Array.prototype
中的方法来操作集合,就像您所说的那样。例如,要删除索引
1
处的字符:

arr.splice(1,1);
要使其再次成为字符串,请执行以下操作:

arr.join('');
如果只想从字符串中读取特定字符,可以直接访问其索引:

var str = "word";
str[1]; // "o"

还可以使用其他字符串方法来实现与数组相同的结果(请参阅)

JavaScript的对象可用于此目的,例如:

var cool = "cool".split(""); // `cool` is an array of single-char strings
var crossIndex = {};
cool.forEach(function(entry) {
    crossIndex[entry] = true;
});
现在,
crossIndex
有标志指示它是否有给定的字母,因此:

var letter = "c"; // for instance

if (crossIndex[letter]) {
    // It has it

    // If you want to remove it:
    delete crossIndex[leter];
}
else {
    // It doesn't have it
}

JavaScript的对象可用于此目的,例如:

var cool = "cool".split(""); // `cool` is an array of single-char strings
var crossIndex = {};
cool.forEach(function(entry) {
    crossIndex[entry] = true;
});
现在,
crossIndex
有标志指示它是否有给定的字母,因此:

var letter = "c"; // for instance

if (crossIndex[letter]) {
    // It has it

    // If you want to remove it:
    delete crossIndex[leter];
}
else {
    // It doesn't have it
}
一根绳子

var str = 'cool';
要检查字符串中是否有字符,请执行以下操作:

if(str.indexOf('o') > -1) // the character is in the string
要删除字符的第一个匹配项,请执行以下操作:

str = str.replace('o','');
如果要修改字符串对象以提供这些操作的更多“逻辑”表示,可以执行以下操作:

String.prototype.contains = function(char){
    return this.indexOf(char) > -1;
};
String.prototype.remove = function(char){
    return this.replace(char,'');
};
您可以这样使用:

var arr = "word".split("");
if ('cheese'.contains('che'))
   alert('Velviva!');

var str = 'hurt'.remove('r');   // 'hut'
    str = 'banana'.remove('n'); // 'baana'
    str = 'happy'.remove('c');  // 'happy'
一根绳子

var str = 'cool';
要检查字符串中是否有字符,请执行以下操作:

if(str.indexOf('o') > -1) // the character is in the string
要删除字符的第一个匹配项,请执行以下操作:

str = str.replace('o','');
如果要修改字符串对象以提供这些操作的更多“逻辑”表示,可以执行以下操作:

String.prototype.contains = function(char){
    return this.indexOf(char) > -1;
};
String.prototype.remove = function(char){
    return this.replace(char,'');
};
您可以这样使用:

var arr = "word".split("");
if ('cheese'.contains('che'))
   alert('Velviva!');

var str = 'hurt'.remove('r');   // 'hut'
    str = 'banana'.remove('n'); // 'baana'
    str = 'happy'.remove('c');  // 'happy'


看看这个库。你可以在数组和对象之间进行选择,两者各有优缺点。正确吗?适当的可以用很多方法来做,这是什么意思?您有两种基本类型,
Object
(有点像字典)和
Array
,从这两种基本类型可以构建更复杂的集合。请查看库。您可以在数组和对象之间进行选择,两者各有优缺点。是否正确?适当的可以用很多方法来做,这是什么意思?你有两种基本类型,
Object
(有点像字典)和
Array
,从这两种类型你可以在更复杂的集合上构建。我想知道为什么有人不使用为处理字符组而构建的对象…@aepheus,对吗?OP可能应该使用jQuery,因为它很棒,可以做任何事情。我想说的是,我不知道为什么有人不使用string对象(即您在这里建议的方法)。并不是说他们应该使用一些库对象,甚至是数组。既然已经有了一组具有相关函数的字符,为什么还要浪费性能和空间呢?我是在讽刺。请看@shmiddy JQuery的字符序列操纵插件在我看来不是很健壮,我建议下划线。stringI想知道为什么有人不使用为处理字符组而构建的对象…@aepheus,对吗?OP可能应该使用jQuery,因为它很棒,可以做任何事情。我想说的是,我不知道为什么有人不使用string对象(即您在这里建议的方法)。并不是说他们应该使用一些库对象,甚至是数组。既然已经有了一组具有相关函数的字符,为什么还要浪费性能和空间呢?我是在讽刺。请看@shmiddy JQuery的字符序列操作插件在我看来不是很健壮,我建议下划线。string这没有提到他将如何测试字符是否在“集合”中,他将如何从集合中删除字符,或者任何实际有用的东西……没错,但我可以扫描数组并将相应的条目设置为“”例如我很高兴@Shmidty我以为问题只是要求一个数据结构。我可以补充一些例子。我也喜欢你的答案,以及你对我第一句话的解释:)。现在答案有了很大的改进,+1!这并没有提到他将如何测试一个字符是否在“集合”中,他将如何从集合中删除一个字符,或者任何实际有用的东西……是的,但我可以扫描数组并将相应的条目设置为“”,例如。我很高兴@Shmidty我以为问题只是要求一个数据结构。我可以补充一些例子。我也喜欢你的答案,以及你对我第一句话的解释:)。现在答案有了很大的改进,+1!这样做的好处是可以使用语法
if(交叉索引中的字母)
这样做的好处是可以使用语法
if(交叉索引中的字母)