我也不知道咋做出来的某个问题
输入:
Test = [ [6, "j", "k"], [1, 2, 3], [3, 5, 4], ["m", "s", "q"], [4, 5, 6], ["k", "s", "m"] ];
输出:

代码:
var Test = [ [6, "j", "k"], [1, 2, 3], [3, 5, 4], ["m", "s", "q"], [4, 5, 6], ["k", "s", "m"] ]; for (var i = 0; i < Test.length; i++) { //数组的长度减去1即为数组最后一个元素的index值 var Len = Test[i].length; for (var j = 0; j < Test.length; j++) { //当数组的最后一个元素与另一个数组的第一个元素相等时执行 if (Test[i][Len - 1] == Test[j][0]) { // 将符合条件的两个数组合并并去重 // Array.from()能把伪数组转化为真正的数组。 var TestC = Array.from(new Set(Test[i].concat(Test[j]))); // 保存生成的新数组的长度,以便找到新数组的最后一个元素 var Size = TestC.length; for (let k = 0; k < Test.length; k++) { if (TestC[Size - 1] == Test[k][0]) { var TestF = Array.from(new Set(TestC.concat(Test[k]))); // 用第二次生成的新数组替换掉被合并的那个数组 Test.splice(j, 1, TestC); } } } } } console.log(TestF, "TestF");
ps:说实话,等我做完之后我都看不懂自己咋写的了,不过先记录下来,后面慢慢思考吧
新手理解,若有误,请各位大佬指点,Thanks♪(・ω・)ノ

浙公网安备 33010602011771号