标签: unique

获取JavaScript数组中的所有唯一值(删除重复项)

我有一系列数字,我需要确保它们是唯一的.我在互联网上找到了下面的代码片段,它的工作情况很好,直到数组中的数字为零.我发现这个其他脚本在SO上看起来几乎就像它,但它不会失败.

所以为了帮助我学习,有人可以帮我确定原型脚本出错的地方吗?

Array.prototype.getUnique = function() {
 var o = {}, a = [], i, e;
 for (i = 0; e = this[i]; i++) {o[e] = 1};
 for (e in o) {a.push (e)};
 return a;
}
Run Code Online (Sandbox Code Playgroud)

重复问题的更多答案:

类似的问题:

javascript arrays unique

1273
推荐指数
40
解决办法
122万
查看次数

从JS数组中删除重复值

我有一个非常简单的JavaScript数组,可能包含也可能不包含重复项.

var names = ["Mike","Matt","Nancy","Adam","Jenny","Nancy","Carl"];
Run Code Online (Sandbox Code Playgroud)

我需要删除重复项并将唯一值放在一个新数组中.

我可以指出我尝试过的所有代码,但我认为它没用,因为它们不起作用.我也接受jQuery解决方案.

类似的问题:

javascript arrays unique duplicates

1225
推荐指数
28
解决办法
130万
查看次数

如何在保留订单的同时从列表中删除重复项?

是否有内置功能可以从Python中的列表中删除重复项,同时保留顺序?我知道我可以使用一个集来删除重复项,但这会破坏原始顺序.我也知道我可以像这样滚动自己:

def uniq(input):
  output = []
  for x in input:
    if x not in output:
      output.append(x)
  return output
Run Code Online (Sandbox Code Playgroud)

(感谢您放松代码示例.)

但是如果可能的话,我想利用内置或更多的Pythonic习语.

相关问题:在Python中,从列表中删除重复项的最快算法是什么,以便所有元素在保留顺序的同时是唯一的?

python list unique duplicates

722
推荐指数
12
解决办法
52万
查看次数

如何从JavaScript中的对象数组中获取不同的值?

假设我有以下内容:

var array = 
    [
        {"name":"Joe", "age":17}, 
        {"name":"Bob", "age":17}, 
        {"name":"Carl", "age": 35}
    ]
Run Code Online (Sandbox Code Playgroud)

能够获得所有不同年龄的数组的最佳方法是什么,以便我得到一个结果数组:

[17, 35]
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以选择构造数据或更好的方法,这样我就不必遍历每个数组检查"age"的值并检查另一个数组是否存在,如果没有则添加它?

如果有某种方式我可以在没有迭代的情况下拉出不同的年龄......

我希望改进的当前无效方式......如果它意味着不是"数组"是一个对象数组,而是一个带有一些唯一键(即"1,2,3")的对象的"地图"好的 我只是在寻找性能最高效的方式.

以下是我目前的做法,但对我来说,虽然迭代确实有效,但迭代看起来效率很高......

var distinct = []
for (var i = 0; i < array.length; i++)
   if (array[i].age not in distinct)
      distinct.push(array[i].age)
Run Code Online (Sandbox Code Playgroud)

javascript arrays unique

325
推荐指数
27
解决办法
40万
查看次数

从UNIX shell脚本中的列表中选择唯一值或不同值

我有一个ksh脚本,它返回一长串值,换行符分隔,我想只看到唯一/不同的值.有可能这样做吗?

例如,假设我的输出是目录中的文件后缀:

tar
gz
java
gz
java
tar
class
class
Run Code Online (Sandbox Code Playgroud)

我希望看到如下列表:

tar
gz
java
class
Run Code Online (Sandbox Code Playgroud)

bash ksh unique distinct sh

224
推荐指数
6
解决办法
28万
查看次数

生成范围内的'n'个唯一随机数

我知道如何在Python中生成一个范围内的随机数.

random.randint(numLow, numHigh)
Run Code Online (Sandbox Code Playgroud)

而且我知道我可以把它放在循环中以生成n个这些数字

for x in range (0, n):
    listOfNumbers.append(random.randint(numLow, numHigh))
Run Code Online (Sandbox Code Playgroud)

但是,我需要确保该列表中的每个数字都是唯一的.除了一系列条件语句之外,还有一种生成n个唯一随机数的直接方法吗?

编辑:重要的是列表中的每个数字都与其他数字不同.

所以

[12,5,6,1] =好

[12,5,5,1] =不好,因为数字5出现两次.

python random unique

194
推荐指数
4
解决办法
32万
查看次数

在numpy.array中查找唯一的行

我需要找到一个独特的行numpy.array.

例如:

>>> a # I have
array([[1, 1, 1, 0, 0, 0],
       [0, 1, 1, 1, 0, 0],
       [0, 1, 1, 1, 0, 0],
       [1, 1, 1, 0, 0, 0],
       [1, 1, 1, 1, 1, 0]])
>>> new_a # I want to get to
array([[1, 1, 1, 0, 0, 0],
       [0, 1, 1, 1, 0, 0],
       [1, 1, 1, 1, 1, 0]])
Run Code Online (Sandbox Code Playgroud)

我知道我可以在阵列上创建一个集合并循环,但我正在寻找一个有效的纯numpy解决方案.我相信有一种方法可以将数据类型设置为void然后我可以使用numpy.unique,但我无法弄清楚如何使其工作.

python arrays numpy unique

185
推荐指数
9
解决办法
8万
查看次数

使用每组的pandas计算唯一值

我需要ID在每个domain 数据中计算唯一值

ID, domain
123, 'vk.com'
123, 'vk.com'
123, 'twitter.com'
456, 'vk.com'
456, 'facebook.com'
456, 'vk.com'
456, 'google.com'
789, 'twitter.com'
789, 'vk.com'
Run Code Online (Sandbox Code Playgroud)

我尝试df.groupby(['domain', 'ID']).count() 但我想得到

domain, count
vk.com   3
twitter.com   2
facebook.com   1
google.com   1
Run Code Online (Sandbox Code Playgroud)

python group-by unique pandas pandas-groupby

163
推荐指数
4
解决办法
38万
查看次数

在Postgresql中,强制在两列的组合上唯一

我想在postgresql中设置一个表,这样两列一起必须是唯一的.任何一个值都可以有多个值,只要没有两个值共享两者.

例如:

CREATE TABLE someTable (
    id int PRIMARY KEY AUTOINCREMENT,
    col1 int NOT NULL,
    col2 int NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

所以,col1col2可以重复,但不能在同一时间.所以,这是允许的(不包括id)

1 1
1 2
2 1
2 2
Run Code Online (Sandbox Code Playgroud)

但不是这个:

1 1
1 2
1 1 -- would reject this insert for violating constraints
Run Code Online (Sandbox Code Playgroud)

sql postgresql unique

160
推荐指数
4
解决办法
7万
查看次数

如何从Perl中删除数组中的重复项?

我在Perl中有一个数组:

my @my_array = ("one","two","three","two","three");
Run Code Online (Sandbox Code Playgroud)

如何从阵列中删除重复项?

arrays perl unique duplicates

153
推荐指数
7
解决办法
21万
查看次数