字符串数组上的 jQuery.unique

2024-01-13

的描述jQuery.unique() http://api.jquery.com/jQuery.unique/状态:

对 DOM 元素数组进行就地排序,并删除重复项。请注意,这仅适用于 DOM 元素数组,不适用于strings或数字。

考虑到描述,有人可以解释为什么下面的代码有效吗?

<div></div>
<div></div>​

var arr = ['foo', 'bar', 'bar'];

$.each(arr, function(i, value){
    $('div').eq(0).append(value + ' ');
});

$.each($.unique(arr), function(i, value){
    $('div').eq(1).append(value  + ' ');
});
​

http://jsfiddle.net/essX2/ http://jsfiddle.net/essX2/

Thanks

编辑:可能的解决方案:

function unique(arr) {
var i,
    len = arr.length,
    out = [],
    obj = { };

for (i = 0; i < len; i++) {
    obj[arr[i]] = 0;
}
for (i in obj) {
    out.push(i);
}
return out;
};

尽管它有效,但您可能应该考虑功能描述。如果创建者说它不是为过滤 dom 元素以外的任何数组而设计的,那么您可能应该听听他们的意见。
此外,这个功能很容易复制:

function unique(array){
    return array.filter(function(el, index, arr) {
        return index === arr.indexOf(el);
    });
}

(演示页面 http://jsfiddle.net/essX2/4/)

Update:

为了使此代码能够在所有浏览器中工作(包括不支持某些数组功能的 ie7 - 例如indexOf or filter),这是使用 jquery 功能的重写:

  • use $.grep http://api.jquery.com/jQuery.grep/代替Array.filter
  • use $.inArray http://api.jquery.com/jQuery.inArray/代替Array.indexOf

现在介绍一下如何翻译的代码应如下所示:

function unique(array) {
    return $.grep(array, function(el, index) {
        return index === $.inArray(el, array);
    });
}

(演示页面 http://jsfiddle.net/essX2/5/)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串数组上的 jQuery.unique 的相关文章

  • div 中的文本字符有限,添加“阅读更多”链接并在单击链接时显示所有字符

    我有一个 div 里面有文本 使用 PHP 和 MySQL 显示 结构如下 div class description p Here is a lot of text p div 我想在 p 标签内的文本超过 100 个字符时显示 阅读更多
  • Jquery UI 可调整大小的问题超出了遏制范围(也使用了可拖动)

    我面临的问题是 div 的可调整大小 当我将它与 Draggable 一起使用时 它会出现问题并且无法调整其宽度方向的大小 如果我单独使用可调整大小 那就没问题了 但我需要让它与可拖动功能一起使用 请建议 单击演示的 jsFiddle 链接
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax
  • 如何在Rails中使用jquery tokeninput?

    我正在尝试在我的应用程序的表单中添加 tokeninput jquery 字段 该字段允许用户发布状态更新 我希望用户能够将作品 单独的模型 附加到状态更新中 我正在使用 act as taggable on gem 并且我的查询指定标签上
  • jquery select 如果 option.value 等于某个值,则标记为选中

    我有一些关于 jquery 选择的问题 就我而言 如果option value等于某物 标记 aselected为了它 在线代码在这里 http jsfiddle net WnEfJ 再次重复代码 它引起了Uncaught TypeErro
  • 在画布上绘制多个矩形

    我试图在鼠标移动时在画布上添加多个矩形 但是当我在图像上绘制矩形时 画布上的背面图像也会被清除 我不想删除它 我想要画布上有多个矩形而不清除画布图像 请检查下面的 JavaScript 代码 var canvas document getE
  • jQuery.post 改变 HTML 中的一些特殊字符

    TinyMCE 中的示例数据 和 以上HTML代码 p 10003 and 9786 9999 9986 p 之前 工作正常 在保存的文档中获得相同的字符 function save and submit var tinyGenData t
  • 在 HTML5 中创建可拖动和可缩放的网格

    与其他 HTML5 不同如何创建网格问题 我想知道如何制作一个可拖动且可扩展的 绘制网格非常简单 var c document getElementById canvas var ctx c getContext 2d var width
  • 仅当表单已提交时才触发 jQuery 表单验证?

    不引人注目的验证基于这样的想法 don t进行表单验证 直到用户提交表单 一旦发生这种情况 如果表单上的某些内容无效 那么一旦用户更改了每个字段 就会立即验证它 我想做的是 不显眼地 触发表单元素的验证 也就是说 only如果用户已尝试提交
  • 如何重新加载 jquery dropkick 对象

    我使用一个简单的选择列表和 jquery dropkick 库来使其美观 现在我想在更改相应的选择元素后更改 dropkick 内容 出现了一个新选项 但只需调用 select dropkick 不起作用 而且好像不支持 只需从头开始重建那
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • jQuery,REAL:不是等价的运算符?

    此代码行选择任何类名不是 id 和 quantity 的 div 内的所有子输入 div item gt div not id quantity gt input live keydown function event 执行相反操作的代码行
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • :jQuery / Sizzle 中的 nth-of-type()?

    让我惊讶的是Sizzle http sizzlejs com jQuery 使用的选择器引擎 带有一个内置的 nth child 选择器 但缺少 nth of type 选择器 为了说明之间的区别 nth child and nth of

随机推荐

  • Android xml 形状声明中的滑稽错误

    我正在创建一个形状用作按钮背景 我正在制作一条按钮 左边的按钮在左边有圆角 右边的最后一个在右边有圆角 这非常简单 API 文档向您展示了如何做到这一点 然而 当我使用android topLeftRadius and android bo
  • 请求 JSF 页面时无限 setStatus() 循环

    您好 我已将我的配置和库升级到 hibernate 4 spring 3 1 1 richfaces 4 我在 tomcat 7 上运行 但是当我尝试打开索引页时 服务器运行一个循环 当我尝试在 ViewHandlerResponseWra
  • 如何更改 Huggingface 变压器默认缓存目录

    默认缓存目录磁盘容量不足 我需要更改默认缓存目录的配置 您可以在每次加载模型时指定缓存目录 from pretrained https huggingface co transformers main classes model html
  • Jetpack Compose Text 组件中的等宽数字

    我在 Jetpack Compose 应用程序中使用自定义字体 并且希望将特定文本组件中的数字等宽 对于标准 Android TextView 可以使用fontFeatureSetting tnum 属性 https stackoverfl
  • 在 if 条件中声明变量有什么问题?

    也许我已经生疏了 最近一直在用Python编写 为什么这不能编译 if int i f 0 没有 周围的int i f 我得到另一个更合理的错误i不是布尔值 但这就是为什么我首先想要括号 我的猜测是 使用括号将其放入表达式中 并且表达式中不
  • gvim 的类似尾巴的功能

    我想使用 gvim 来查看不断更新的日志文件 这样我总是可以看到最后更新的行 就像 unix 中的 tail 命令一样 是否可以 打开日志文件和 setlocal autoread 有一个插件 尾束 http www vim org scr
  • 如何使用 OkHttp 启用证书固定

    如何使用 OkHttp 为我的 Android Java 应用程序启用证书固定 The OkHttp 文档 http square github io okhttp 3 x okhttp okhttp3 CertificatePinner
  • 文件重命名不起作用

    我正在尝试为选定的文件名添加扩展名JFileChooser虽然我无法让它工作 这是代码 final JFileChooser fc new JFileChooser fc setFileSelectionMode JFileChooser
  • 从 JSP 调用 REST GET 服务

    我有一个动态设置应用程序页面标题的 JSP 但是 我希望能够调用基于系统用户获取用户详细信息的 REST 服务 我已经有了系统用户值 但需要调用后端服务从数据库中获取详细信息 这已经实现了 但我不知道如何设置 JSP 来执行此操作 我不想使
  • 在 Chrome 中的选择输入上使用框阴影

    我目前正在开发一个小型网站 并且我在网站上的各种元素上使用了盒子阴影效果 它似乎适用于所有应用它的元素 在 Chrome 和 Firefox 中 除了select and input 它在 Firefox 中适用于这些输入类型 但在 Chr
  • 在 Windows 中通过 pm2 执行 npm 脚本时出现问题

    我正在尝试跑步npm通过 pm2 使用自定义脚本ecosystem json as apps name Service script npm args run command 不幸的是我无法做到这一点 谁能帮助我解决这个问题 我得到如下所示
  • 更新默认的 nuget 包

    我了解如何更新解决方案中的包 但我的问题是如何更新默认包 IE 当我创建新的解决方案时 它已经是最新版本 而不必在每次启动新项目时都进行 管理解决方案包 和更新 例如 如果我创建一个新的 MVC4 项目 则正在安装 jQuery 1 7 1
  • 如何在android JellyBean 4.2.2中开发自定义状态栏

    我想开发定制的StatusBar 我知道我不是唯一有此要求的人 但还是想知道大家的意见 在 StackOverflow 上进行大量搜索后 我发现人们有 使用工具修改状态栏 但这不是我需要的 我有点在思考自己的Status发展方向 带有我自己
  • CSS 网格在 Safari 中不工作

    我试图弄清楚我正在做的事情是否有问题 或者 Safari MacOS 或 iOS 是否不支持 CSS 网格 尽管他们到处都说支持 CSS 网格 我尝试过这样的事情 ul list style type none text align cen
  • 连接数据表中两列的值

    连接数据表中两列的值两列使其成为数据表中的一列 我的数据表是 TagNumber LogNumber Combined 124 1 2 125 1 3 126 2 4 o p TagNumber 124 1 2 125 1 3 126 2
  • Bluez BLE 外设利用 ADV 数据宣传自定义特性

    是否有一个示例应用程序允许使用特定的 ADV 数据宣传自定义 UUID 和特征 Bluez 的文档较少 任何帮助表示赞赏 您拥有哪个版本的 BlueZ 对于较新版本的 BlueZ 例如 5 50 您可以从命令行使用 bluetoothctl
  • 在自己的类中使用依赖注入(而不是在组件中)?

    在组件中使用 DI 与注入效果很好 inject 或在代码隐藏中使用 inject 现在如果你想在普通类中使用 DI 如何工作呢 我在这里发现了完全相同的问题 Blazor 从 C 类调用 JavaScript https stackove
  • 如何将嵌套的 XML 元素解组到数组中?

    我的 XML 包含预定义元素的数组 但我无法选取该数组 XML 结构如下 var xml data
  • 如何使用VBA将公式添加到单元格[重复]

    这个问题在这里已经有答案了 我正在尝试编写一些 VBA 它将标题文本添加到 3 个单元格 然后将公式一直填充到最后一行 我已经写了下面的内容 其中写入标题没有问题 但是当它到达我的第一个时 Formula它抛出一个 应用程序定义或对象定义错
  • 字符串数组上的 jQuery.unique

    的描述jQuery unique http api jquery com jQuery unique 状态 对 DOM 元素数组进行就地排序 并删除重复项 请注意 这仅适用于 DOM 元素数组 不适用于strings或数字 考虑到描述 有人