当前位置: 首页 > 编程笔记 >

js在数组中删除重复的元素自保留一个(两种实现思路)

姚煜
2023-03-14
本文向大家介绍js在数组中删除重复的元素自保留一个(两种实现思路),包括了js在数组中删除重复的元素自保留一个(两种实现思路)的使用技巧和注意事项,需要的朋友参考一下

例如:var student = [‘qiang','ming','tao','li','liang','you','qiang','tao'];

第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中

用到两个函数:for ...in 和 indexOf()

<script type="text/javascript"> 
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
function unique(arr){
// 遍历arr,把元素分别放入tmp数组(不存在才放)
var tmp = new Array();
for(var i in arr){
//该元素在tmp内部不存在才允许追加
if(tmp.indexOf(arr[i])==-1){
tmp.push(arr[i]);
}
}
return tmp;
}

</script>

第二种思路是:把目标数组arr的元素值和键的位置调换 自动就把重复的元素给删除掉了,调换后的样子:array('qiang'=>1,'ming'=>1,'tao'=>1)

<script type="text/javascript">
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
function unique(arr){
var tmp = new Array();

for(var m in arr){
tmp[arr[m]]=1;
}
//再把键和值的位置再次调换
var tmparr = new Array();

for(var n in tmp){
tmparr.push(n);
}
return tmparr;
}
</script>
 类似资料:
  • 下面是我的数组, 这些字段来自,我在模型中声明了每个字段。这里我想删除数组中的'isMater'和'u id'。 但它不会被删除。我不确定我在哪里犯了错误。请帮忙。

  • 如何从另一个数组中删除数组的元素?我有第一个数组[“a”“b”“c”]。以及第二阵列[“a”、“e”]、[“e”、“b”、“c”]、[“a”、“c”]。 如何从第二个数组中删除第一个数组的元素? 结果,得到[["e"],["e"], []].

  • 问题内容: 如今,在Swift中,您只需键入 以使数组唯一。(或根据需要订购)。 在此之前,它是怎么做的? 我可能有一个如下所示的数组: 或者,实际上,是数据的相似类型部分的任何序列。我要做的是确保每个相同元素中只有一个。例如,上面的数组将变为: 请注意,删除了2、6和15的重复项以确保每个相同元素中只有一个。Swift是否提供一种轻松实现此目的的方法,还是我必须自己做? 问题答案: 您可以自己滚

  • 我有数组的电子邮件和ID,所以我想删除重复的元素谁有类似的ID的。 例子: 现在我需要删除具有ID的重复元素是常见的。从某种意义上说,我期待最终的阵列是

  • 如上图片, 每个方块都有一个宽,高,X轴,Y轴; 有可能宽占多份, 高占多份; 但宽度最大就占3份, 高度不限; 每次删除一个格子, 下面的格子自动往左往上补齐; 给到数据假如是: 删除id为5的格子后,希望得到的是:

  • 本文向大家介绍实例介绍PHP删除数组中的重复元素,包括了实例介绍PHP删除数组中的重复元素的使用技巧和注意事项,需要的朋友参考一下 array_unique()函数 array_unique()函数可以移除数组中的重复的值,并返回结果数组;当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。 代码示例: 输出: array_flip()函数 array_flip()是反转数组键和值的函数