相关疑难解决方法(0)

从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万
查看次数

如何将Set转换为Array?

套装似乎是一个很好的方式来创建保证唯一的元素数组,但它不公开任何好的办法来获取属性,除了发电机[设置] .values,被称为在一个尴尬的方式mySet.values.next().

如果您可以map在集合上调用和类似的函数,那就没问题了.但你也不能这样做.

我试过了Array.from,但似乎只是将类似数组(NodeList和TypedArrays?)的对象转换为Array.另一个尝试:Object.keys对Sets不起作用,而Set.prototype没有类似的静态方法.

所以,问题:是否有任何方便的内置方法来创建具有给定Set值的数组?(元素的顺序并不重要).

如果没有这样的选择,那么也许有一个很好的惯用的单行代码呢?喜欢,使用for...of或类似?

javascript arrays collections syntax ecmascript-harmony

427
推荐指数
5
解决办法
21万
查看次数

获取数组中的所有非唯一值(即:重复/多次出现)

我需要检查一个JavaScript数组,看看是否有任何重复的值.最简单的方法是什么?我只需要找到重复的值是什么 - 我实际上并不需要它们的索引或重复它们的次数.

我知道我可以遍历数组并检查匹配的所有其他值,但似乎应该有一个更简单的方法.有任何想法吗?谢谢!

类似的问题:

javascript arrays

397
推荐指数
20
解决办法
55万
查看次数

如何从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万
查看次数

何时使用Vanilla JavaScript与jQuery?

我注意到在监控/尝试回答常见的jQuery问题时,有一些使用javascript而不是jQuery的实践,实际上可以让你写得更少,并做 ...相同的数量.并且还可以产生性能优势.

一个具体的例子

$(this) VS this

在单击事件中引用单击的对象id

jQuery的

$(this).attr("id");
Run Code Online (Sandbox Code Playgroud)

使用Javascript

this.id;
Run Code Online (Sandbox Code Playgroud)

还有其他类似的常见做法吗?可以更轻松地完成某些Javascript操作,而无需将jQuery添加到组合中.或者这是一个罕见的情况?(jQuery"快捷方式"实际上需要更多代码)

编辑:虽然我很欣赏有关jQuery与普通javascript性能的答案,但实际上我正在寻找更多的定量答案. 在使用jQuery时,实际上可以更好地使用普通javascript代替使用的实例(可读性/紧凑性)$().除了我在原始问题中给出的例子.

javascript performance jquery

233
推荐指数
9
解决办法
7万
查看次数

将文件大小以字节为单位转换为人类可读的字符串

我正在使用此函数将文件大小(以字节为单位)转换为人类可读的文件大小:

function getReadableFileSizeString(fileSizeInBytes) {
    var i = -1;
    var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB'];
    do {
        fileSizeInBytes = fileSizeInBytes / 1024;
        i++;
    } while (fileSizeInBytes > 1024);

    return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i];
};
Run Code Online (Sandbox Code Playgroud)

但是,似乎这并非100%准确.例如:

getReadableFileSizeString(1551859712); // output is "1.4 GB"
Run Code Online (Sandbox Code Playgroud)

不应该这样"1.5 GB"吗?似乎1024的划分正在失去精度.我完全误解了某些东西,还是有更好的方法来做到这一点?

javascript filesize human-readable

223
推荐指数
16
解决办法
9万
查看次数

如何在数组中获取唯一值

如何获取数组中的唯一值列表?我是否总是必须使用第二个数组,或者在JavaScript中是否有与java的hashmap类似的东西?

我将只使用JavaScriptjQuery.不能使用其他库.

javascript jquery

145
推荐指数
14
解决办法
25万
查看次数

如何从包含JavaScript重复项的数组中获取一组唯一值?

给定一个['0','1','1','2','3','3','3']数组,结果应该是['0','1','2','3'].

javascript arrays unique

108
推荐指数
8
解决办法
15万
查看次数

如何'缩小'Javascript代码

JQuery有两个版本供下载,一个是Production(19KB,Minified和Gzipped),另一个是Development(120KB,Uncompressed Code).

现在是紧凑的19kb版本,如果你下载它,你会看到仍然是一个javascript可执行代码.他们是如何紧凑的呢?我怎么能像这样'缩小'我的代码呢?

javascript gzip

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

高效的唯一字符串列表C#

存储忽略任何重复的字符串列表的最有效方法是什么?我在想字典可能是最好通过编写dict [str] = false来插入字符串; 并通过键枚举列表.这是一个好的解决方案吗?

c# unique-values

84
推荐指数
5
解决办法
7万
查看次数