【发布时间】:2020-09-30 10:37:11
【问题描述】:
我在 javascript 中有一个对象数组,例如:
var arr_objects= [
{id: 1, authors: "person1||person2", edithors: "person1||person7"},
{id: 2, authors: "person3", edithors: "person2"},
{id: 3, authors: "person4||person5||person6", edithors: "person7||person6"},
{id: 4, authors: "person7||person6", edithors: "person6"}
];
我想检查“authors”中的任何名称(person1、person2 等)是否出现在“edithors”中的同一对象中。如果是这种情况 - 将新的键值对(“出现”)写入包含作者/编辑者姓名的对象。
输出应如下所示:
var arr_objects= [
{id: 1, authors: "person1||person2", edithors: "person1||person7", occurance: "person1"},
{id: 2, authors: "person3", editors: "person2" },
{id: 3, authors: "person4||person5||person6", edithors: "person7||person6", occurance: "person6"},
{id: 4, authors: "person7||person6", edithors: "person6", occurance: "person6"}
];
我是编程新手,似乎完全被卡住了。 我想要实现输出,我必须在“作者”和“编辑”上使用正则表达式来分隔值并将两个字符串与每个字符串进行比较。不幸的是,在比较值时,我无法使用正则表达式并循环遍历数组。
我会非常感谢任何关于我的问题的建议。
【问题讨论】:
-
您可以使用 String.split 将作者/编辑者转换为数组,然后查找 2 个数组有哪些共同元素:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript arrays javascript-objects string-comparison