Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
下面是一段工作代码。 “ = true”部分使我感到困惑。我认为这是正在发生的事情。
1-创建空数组。
2-选择选定的列表项(目标)并循环。
3-如果目标列表项的类属性不在数组中,则输入if块。
4-添加目标列表项的类属性并添加它们
到数组。
我的理解是javascript使用“ push”,jquery使用“ add”
将项目插入数组。下面的代码不使用推入或添加。
然后,尽管您可能想使用
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
下面是一段工作代码。 “ = true”部分使我感到困惑。我认为这是正在发生的事情。
1-创建空数组。
2-选择选定的列表项(目标)并循环。
3-如果目标列表项的类属性不在数组中,则输入if块。
4-添加目标列表项的类属性并添加它们
到数组。
我的理解是javascript使用“ push”,jquery使用“ add”
将项目插入数组。下面的代码不使用推入或添加。
var foo = [];
$($targets).each(function(i) {
if (!foo[$(this).attr('class')]) {
foo[$(this).attr('class')] = true;
}
});
最佳答案
代码有缺陷,如果要使用字符串作为键,则应使用对象而不是数组:
var foo = {};
然后,尽管您可能想使用
in
运算符检查是否严格存在,但它检查对象中的键是否为伪造的:$targets.each(function() {
var klass = this.className; // cache, no need for jQuery
// if `foo` doesn't have the key `klass` then add it
if (! (klass in foo)) foo[klass] = true;
});
关于javascript - 此代码是否将类属性添加到foo数组? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19149987/