Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Lodash在数组值中查找部分唯一性_Javascript_Arrays_Node.js_Lodash - Fatal编程技术网

Javascript Lodash在数组值中查找部分唯一性

Javascript Lodash在数组值中查找部分唯一性,javascript,arrays,node.js,lodash,Javascript,Arrays,Node.js,Lodash,以下代码从数据数组返回一个唯一值的数组。但是,如果在value1:value2中发现唯一性,我试图实现的是返回true。正如您可以从下面的代码中看到的那样,value1:value2:value3和value1:value2:value4符合此标准。使用lodash技术来生成此功能将是理想的,但是为了理解解决方案,我非常欢迎纯“ol”javascript 注意jQuery和HTML已经被包括进来,以说明我的问题。我想要的javascript将在NodeJS上运行 更新 运行以下代码的预期输出将t

以下代码从
数据
数组返回一个唯一值的数组。但是,如果在
value1:value2
中发现唯一性,我试图实现的是返回true。正如您可以从下面的代码中看到的那样,
value1:value2:value3
value1:value2:value4
符合此标准。使用lodash技术来生成此功能将是理想的,但是为了理解解决方案,我非常欢迎纯“ol”javascript

注意jQuery和HTML已经被包括进来,以说明我的问题。我想要的javascript将在NodeJS上运行

更新

运行以下代码的预期输出将
true
,因为
value1:value2:value3
value1:value2:value4
之间存在匹配,即两个值中都存在
value1:value2

更新

请参见下面的输出示例

更新

其中包括一个我所追求的输出示例。这是所需的功能,但是我希望采用lodash的方法来实现相同的结果

$(文档).ready(函数(){
风险值数据=[
'value1:value2:value3',
'value1:value2:value4',
“value5:value6:value7”,
'value1:value2:value3'
];
var partialValueMatch=函数(数据){
变量查找=uqby.uniqBy(数据,函数(str){
返回str.substring(0,str.lastIndexOf(':'))
});
if(lookup.length
#输出{
背景:#fafafa;
边框:1px实心#d8d8;
填充物:5px10px;
字体系列:monospace;
边界半径:2px;
颜色:红色;
}

您可以使用

你可以用


你能解释得更清楚一点吗,给定一个数据集,理想的输出是什么?@AvraamMavridis请参见UPDATE@JagsSparrow的答案可能会起作用。如果给定一个数据集,你能更好地解释一下理想的输出是什么吗?@AvraamMavridis请参见UPDATE@JagsSparrow的答案可能会奏效。很棒,可以满足我的需要。但是,我有没有办法让它
返回真值
?如果输出中需要
返回真值
,请与我们共享输出样本。在您的示例中,
数据
数组的长度已更改,因此我猜如果小于原始长度,可以对原始输入数组长度和输出长度进行比较。。返回true。是的,您可以通过比较输入和输出数据长度来获得它。我在这里加入了一个提琴,以更好地解释我的示例,使用您描述的方法。非常棒,适合我的需要。但是,我有没有办法让它
返回真值
?如果输出中需要
返回真值
,请与我们共享输出样本。在您的示例中,
数据
数组的长度已更改,因此我猜如果小于原始长度,可以对原始输入数组长度和输出长度进行比较。。返回true。是的,您可以通过比较输入和输出数据长度来获得它。我在这里加入了一个提琴,以更好地解释我的示例,使用您描述的方法。
 var data = [
    'value1:value2:value3',
    'value1:value2:value4',
    'value5:value6:value7',
    'value1:value2:value3'
    ];

var output = _.uniqBy(data,function(str){
   return str.substring(0,str.lastIndexOf(':'))
 });
console.log(output);
console.log('Is duplicates found:',output.length<data.length);
//["value1:value2:value3", "value5:value6:value7"]
//Is duplicates found: true