所以这是提议的问题。
比较两个数组并返回一个新数组,其中包含两个原始数组中都找不到的任何项。
这是我到目前为止所拥有的。
function diff(arr1, arr2) {
for (var a in arr1) {
for (var b in arr2) {
if (arr1[a] == arr2[b]){
arr2.splice(b,1);
}
}
}
return arr2;
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
此代码基本上只是将第一个数组的每个值与第二个数组进行比较。如果找到匹配,则使用拼接功能删除该项目。
这适用于一维数组,但如何使其适用于多维数组,例如:
diff([1, 2, 3, 5], [1, [2, 3], [4, 5]]);
如果这些数组不仅仅是两个维度而是任意数量的维度,那该怎么办?无论设置如何,我都应该遍历每个数组的每个元素。
答案 0 :(得分:0)
使用lodash,你可以这样做:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.0/lodash.min.js"></script>
<body></body>
&#13;
'use strict';
var fs = require('fs');
// fs.mkdirSync('folda'); // success
fs.mkdirSync('/parent-not-exists/folda');
// Failed,if parent folder isn't exists,will throw
// Error: ENOENT, no such file or directory '/parent-not-exists/folda'
&#13;