首页 > 解决方案 > 通过在 JavaScript 中给出另一个数组来比较数组(从选项开始)

问题描述

我有两个数组;selectedFunctionarray1。有这些价值观

['0x0000000000000000', '0x4046ebae00000ab003','0xd6d75f5100000cd0001']

allFunctionsarray2。有了这些价值观;

[ '0x000fba16', '0x4046ebae', '0x517cf73e', '0xd6d75f51' ]

如果 array1中的元素以 array2 中的给定元素开头,则将 array1的该元素推入myFinalSelectedFunctions[]array3。在上面的数组中,array1 的第二个和第三个元素应该被推入 array3。如何在 javascript/Nodejs 中执行此类任务?我有javascript的基本知识,不是专家。

标签: javascriptarraysnode.js

解决方案


如果 array1中的十六进制代码是 array2 中的十六进制代码,则可以使用.filter()with.some()返回 true :.startsWith()

const array1 = ['0x0000000000000000', '0x4046ebae00000ab003','0xd6d75f5100000cd0001'];
const array2 = [ '0x000fba16', '0x4046ebae', '0x517cf73e', '0xd6d75f51' ];

const res = array1.filter(hex => array2.some(code => hex.startsWith(code)));
console.log(res);


推荐阅读