javascript - 创建一个对象来合并重复文件

标签 javascript

我是 JS 新手,有以下对象,其中 key 是文件路径,value文件名>添加时间。文件重复且名称相同,即 JackFusco_JasperGeminids.jpgGoldman-Sachs-Suggested-Reading-List.pdf

{"/home/JackFusco_JasperGeminids.jpg": ["JackFusco_JasperGeminids.jpg", "2018-02-23T02:43:21"],

 "/Photos/JackFusco_JasperGeminids.jpg": ["JackFusco_JasperGeminids.jpg", "2018-02-23T02:43:42"],

 "/home/Goldman-Sachs-Suggested-Reading-List.pdf": ["Goldman-Sachs-Suggested-Reading-List.pdf", "2018-02-23T02:01:24"],

 "/Photos/Sample Album/Goldman-Sachs-Suggested-Reading-List.pdf": ["Goldman-Sachs-Suggested-Reading-List.pdf", "2018-02-23T02:01:56"]}

我想创建另一个对象并组契约(Contract)名文件,基本上是为了告诉用户同一个文件存储在两个不同的位置。

预期输出是:

{"JackFusco_JasperGeminids.jpg": ["/home/JackFusco_JasperGeminids.jpg", "2018-02-23T02:43:21"], ["/Photos/JackFusco_JasperGeminids.jpg", "2018-02-23T02:43:42"]}

{"Goldman-Sachs-Suggested-Reading-List.pdf": ["/home/Goldman-Sachs-Suggested-Reading-List", "2018-02-23T02:01:24"], ["/Photos/Sample Album/Goldman-Sachs-Suggested-Reading-List.pdf", "2018-02-23T02:01:56"]}

最佳答案

您的输入

var input = {"/home/JackFusco_JasperGeminids.jpg": ["JackFusco_JasperGeminids.jpg", "2018-02-23T02:43:21"],
 "/Photos/JackFusco_JasperGeminids.jpg": ["JackFusco_JasperGeminids.jpg", "2018-02-23T02:43:42"],

 "/home/Goldman-Sachs-Suggested-Reading-List.pdf": ["Goldman-Sachs-Suggested-Reading-List.pdf", "2018-02-23T02:01:24"],

 "/Photos/Sample Album/Goldman-Sachs-Suggested-Reading-List.pdf": ["Goldman-Sachs-Suggested-Reading-List.pdf", "2018-02-23T02:01:56"]};

解决方案(定义“输入”后)

var result = {};
for (var key in input){
  if(!result.hasOwnProperty(input[key][0])) result[input[key][0]] = [];
  result[input[key][0]].push(key);
}
  • 首先初始化一个新的 JavaScript 对象结果
  • 其次,检查 result 是否已有与您的文件名匹配的属性。如果没有,您创建这样的属性,并将其初始化为数组。
  • 最后,将对象的键(文件路径)推送到相应的数组。

关于javascript - 创建一个对象来合并重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48959319/

相关文章:

javascript - 当输入的数字之和与指示的数字不同时如何显示按钮

javascript - 'this' 的值是多少?

javascript - 如何缩短重复的函数

javascript - 我如何像在 jQuery 中那样在 YUI 中显示/隐藏元素?

javascript - JQuery Animate() 从页面底部向上滑动 div

javascript - 指示另一个选项卡上的内容何时更改

javascript - 如何修复未在所需位置呈现的图像

javascript - Bootstrap 工具提示和弹出窗口 : To Destroy, 或不销毁?

javascript - 有没有办法更新 HTML 中定义的现有数组?

javascript - 如何将 Soundcloud API(身份验证)与 Angular.js 一起使用