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

Lodash finding a partial uniqueness within array values

以下代码,returns 是 data 数组中唯一值的数组。但是,如果在 value1:value2 处找到唯一性,我想要实现的是 return true。从下面的代码中可以看出,value1:value2:value3value1:value2:value4 符合此条件。产生此功能的 lodash 技术是理想的,但是为了理解解决方案,我很乐意欢迎普通的 'ol' javascript.

注意 jQuery 和 HTML 已包括在内以说明我的问题。我追求的 javascript 在 NodeJS 上是 运行。

更新

来自 运行 的预期输出下面的代码将 true 因为 value1:value2:value3value1:value2:value4 之间存在匹配,即 value1:value2 存在于两个值中。

更新

请参阅以下 fiddle 以获取我想要的输出示例。

更新

包括我所追求的输出示例。这是所需的功能,但我想要一种 lodash 方法来实现相同的结果。

$(document).ready(function() {
  var data = [
    'value1:value2:value3',
    'value1:value2:value4',
    'value5:value6:value7',
    'value1:value2:value3'
    ];
  var partialValueMatch = function(data) {
    var lookup = _.uniqBy(data, function(str){
      return str.substring(0, str.lastIndexOf(':'))
    });
    if(lookup.length < data.length) return true;
    return false;
  }
  var $output = $('#output');
  $output.html(partialValueMatch(data));
});
#output {
  background: #fafafa;
  border: 1px solid #d8d8d8;
  padding: 5px 10px;
  font-family: monospace;
  border-radius: 2px;
  color: red;
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-rc1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.13.1/lodash.min.js"></script>
<div id="output"></div>

您可以使用_.uniqBy

 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