gpt4 book ai didi

javascript - 创建数组,使用 $.each 循环,如果不在数组中则添加值

转载 作者:行者123 更新时间:2023-11-30 10:18:25 24 4
gpt4 key购买 nike

我在文本中有一堆 .defined 并且想用 javascript 创建一个唯一值数组。所以基本上,对于每个定义了类的 anchor ,我想首先检查数组以查看该对是否已经存在。如果存在,则转到下一个 anchor 。如果不存在,则添加到数组中。这是我尝试使用的代码,但它不会删除重复值。

var arr = new Array();
y = 0;
$("a.defined").each(function() {
var spanishWord = this.text;
var englishWord = this.title;
if(spanishWord in arr) {
console.log("do nothing");
} else {
arr.push({key: spanishWord, value: englishWord});
y++;
}

例如,我在文本中有这些标签:

<a title="read">Leer</a>
<a title="work">Trabajar</a>
<a title="like">Gustar</a>
<a title="read">Leer</a>
<a title="sing">Cantar</a>
<a title="like">Gustar</a>

我希望我的数组看起来像:

Spanish Word  |   English Word
Leer read
Trabajar work
Gustar like
Cantar sing

但它看起来像:

Spanish Word  |   English Word
Leer read
Trabajar work
Gustar like
Leer read
Cantar sing
Gustar like

有什么想法吗?

最佳答案

我将分两步完成此操作。第一步是消除重复项,一步是创建数组:

http://jsfiddle.net/uN4js/

var obj = {};
$('a.defined').each(function() {
obj[this.text] = this.title;
});

var arr = [];
for (var prop in obj) {
if (obj.hasOwnProperty(prop))
arr.push({key: prop, value: obj[prop]});
};

console.log(arr);

如果对象足够而且你真的不需要数组,你可以在创建对象后停止。

关于javascript - 创建数组,使用 $.each 循环,如果不在数组中则添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22618301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com