检查打字稿中的多维数组或 javascript 以检测重复值的最佳方法是什么?
What is the best way to check multidimensional array in typescript or javascript to detect duplicate values?
我有如下二维数组:
array = [ [ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ] ]
我想比较数组索引中的值以查看它们是否具有重复值。例如
array[0] = [1,1];
array[1] = [1,2];
array[2] = [1,1];
我们可以看到索引 0 和 2 的值相同,即 [1,1]。所以,在那种情况下,我想要真正的旗帜。最有效的方法是什么?或者有哪些不同的方法来做到这一点?任何类型的建议或帮助都会有一些解释。提前致谢。
那么,我认为你可以做的是:
- 循环多维数组的每个元素。
- 然后通过访问索引为0和索引1的“行”来检查两个元素是否相同
我认为你可以使用不同的方式来循环数组,这是我尝试过的:
// DECLARATIONS
array = [[ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ]];
// LOOPING THE ARRAY
for (row of array)
{
// RETURN TO CONSOLE OR WHATEVER THE BOOLEAN VALUE
console.log(row[0] == row[1]);
}
您可以通过将内部数组元素转换为字符串来实现它,仅用于比较目的。
演示:
const arr = [[ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ]];
const stringConversion = arr.map((item) => JSON.stringify(item))
const duplicateElements = stringConversion.filter((item, index) => stringConversion.indexOf(item) !== index)
console.log(duplicateElements.length ? true : false);
String
将数组转换为 one-dimensional 字符串数组,some
检查是否有任何元素重复:
const arr = [[1, 1], [1, 2], [1, 1], [2, 3]];
const result = arr.map(String).some((v, i, a) => a.indexOf(v) !== i);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
我有如下二维数组:
array = [ [ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ] ]
我想比较数组索引中的值以查看它们是否具有重复值。例如
array[0] = [1,1];
array[1] = [1,2];
array[2] = [1,1];
我们可以看到索引 0 和 2 的值相同,即 [1,1]。所以,在那种情况下,我想要真正的旗帜。最有效的方法是什么?或者有哪些不同的方法来做到这一点?任何类型的建议或帮助都会有一些解释。提前致谢。
那么,我认为你可以做的是:
- 循环多维数组的每个元素。
- 然后通过访问索引为0和索引1的“行”来检查两个元素是否相同
我认为你可以使用不同的方式来循环数组,这是我尝试过的:
// DECLARATIONS
array = [[ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ]];
// LOOPING THE ARRAY
for (row of array)
{
// RETURN TO CONSOLE OR WHATEVER THE BOOLEAN VALUE
console.log(row[0] == row[1]);
}
您可以通过将内部数组元素转换为字符串来实现它,仅用于比较目的。
演示:
const arr = [[ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ]];
const stringConversion = arr.map((item) => JSON.stringify(item))
const duplicateElements = stringConversion.filter((item, index) => stringConversion.indexOf(item) !== index)
console.log(duplicateElements.length ? true : false);
String
将数组转换为 one-dimensional 字符串数组,some
检查是否有任何元素重复:
const arr = [[1, 1], [1, 2], [1, 1], [2, 3]];
const result = arr.map(String).some((v, i, a) => a.indexOf(v) !== i);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }