今天看到别人的博客,我用起不顺手,改了一下,不知道有没有什么没有考虑到
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title></title>
</head>
<body>
<script type="text/javascript">
//自己写的方法
var models = [['BMW X1','BMW X3','BMW X5','BMW X6'],['RED','BLUE','GREEN'],['低配','中配','高配'],['进口','国产']];
var resultArr=[];
test();
function test(){
for (var i = 0; i < models[0].length; i++) {
for (var j = 0; j < models[1].length; j++) {
for (var y = 0; y < models[2].length; y++) {
for (var z = 0; z < models[3].length; z++) {
resultArr.push(models[0][i]+'-'+models[1][j]+'-'+models[2][y]+'-'+models[3][z]);
};
};
};
};
}
console.log(resultArr);
//网上找的方法
var models = [['BMW X1','BMW X3','BMW X5','BMW X6'],['RED','BLUE','GREEN'],['低配','中配','高配'],['进口','国产']];
var mLen = models.length;
var index = 0;
var digui = function (arr1,arr2) {
// console.log("enter digui",arr1,arr2);
var res = [];
arr1.forEach(function (m) {
arr2.forEach(function (n) {
res.push(m+" - "+n);
})
});
index ++;
if(index<= mLen-1){
return digui(res,models[index])
}else{
return res;
}
};
var resultArr = [];
if(mLen >= 2){
resultArr = digui(models[index],models[++index]);
}else{
resultArr = models[0];
}
console.log(resultArr);
</script>
</body>
</html>
分享到:
相关推荐
需要将两个数组合并成为一个的情况。比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a、b,需求是将两个数组合并成一个。方法如下: 1、concat js的Array对象提供了一个叫concat()方法,连接两个或更多的...
"labview字符串数组转字符串"这个主题是关于如何将一个包含多个字符串的数组转换为单个连续的字符串。在这个过程中,我们需要理解LabVIEW的数据结构、字符串操作函数以及如何利用它们来实现这种转换。 首先,...
最近在工作碰到一个问题,就是用javascript求数组中所有数字能拼接出的最大整数,数组的每一项为单独的拼接项,不能再拆开,例如[2,34]中2和34分别为要被拼接的数字,而不是说34还能继续拆分为3和4。 具体需求为,...
在进行前端开发时,我们经常遇到需要将多个数据源合并为一个数据结构,以便于页面展示的场景。在Vue框架中,特别是当我们需要合并带有共同属性的两个对象数组时,可以通过编写方法来实现。本次实例将介绍如何在Vue中...
这种方法可以实现泛型数组合并,并且可以灵活地处理多个数组合并。 四、使用Array.newInstance()方法 使用Array.newInstance()方法可以生成数组,例如: ```java private static <T> T[] concat(T[] a, T[] b) { ...
两个json数组合并去重,以及删除某一项元素 let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, {id:'C',name:'60'} ]; let hb= [ {id:'H',name:'2'}, {id:'A',name:'6'}, {id:'B',...
在C语言中,合并多个`char *`类型的字符串是一项常见的任务,这通常涉及到字符串操作和内存管理。在给定的场景中,`main.c`文件是测试程序,它调用了`tools.h`头文件中定义的`MultiCombine`函数,这个函数的目的是将...
对于基本类型的数组,例如boolean,每个boolean值在数组中占用1字节,但由于字节对齐,数组的总大小可能会被调整以满足8字节对齐规则。对于其他基本类型,如int,每个int占用4字节;对于double,每个double占用8字节...
总之,将字符串数组转换为单一的string类型是一项常见的编程任务,理解并掌握不同语言中实现这一操作的方法是提升编程技能的重要一步。无论是C++的`stringstream`,Java的`StringBuilder`,还是C#的`string.Join`,...
源数据是一个包含多个对象的数组,每个对象有两个属性:`TYPE`和`REMARK`。例如: ```javascript let data = [ {TYPE: "01", REMARK: "休假"}, {TYPE: "03", REMARK: "在班"}, {TYPE: "03", REMARK: "在班"}, {...
在给定的示例中,我们看到一个包含多个对象的数组`tmp`,每个对象有`id`和`magicId`两个属性。下面将详细讨论如何实现这种去重操作。 1. **对象去重的基本思路** 在JavaScript中,由于对象是引用类型,直接比较两...
3. **Array Compare函数**:这个函数可以用来比较两个数组,返回一个布尔数组,其中每个元素对应原数组的元素是否与目标数组中的相应元素相等。这在你需要知道数组中有多少个元素与目标值匹配时非常有用。 在实际...
三维破碎物体多尺度拼接技术是一项复杂而精妙的技术,主要应用于修复破碎的三维物体,如古董、艺术品或考古发现。这项技术的核心在于利用多尺度小波变换对破碎物体的轮廓曲线进行特征提取和匹配,进而实现碎片的精确...
在HTML编程中,有时我们需要将数组中的元素拼接成一个字符串,例如构建列表项(`<li>`)或任何其他动态生成的HTML内容。这里,我们探讨了三种不同的方法来实现这一目标,并分析它们的效率。 1. **逐个字符串相加**...
在编程中,判断数组中是否存在重复元素是一项常见的任务,尤其是在数据处理、集合操作等场景中。本文将介绍在JavaScript中判断数组中是否有重复值的三种实用方法,帮助读者更加高效地处理数组数据。 方法一:利用...
这种方法对于处理具有多个相关项的数据集合特别有用,例如,当你需要以逗号分隔的格式显示产品代码列表时。 总结来说,SQL Server中多行数据拼接可以通过创建自定义函数并结合查询语句来实现。在这个实例中,我们...
在LabVIEW中进行图像处理是一项常见的任务,尤其是在实验数据分析、机器视觉或自动化系统中。本教程将详细介绍如何在LabVIEW中实现图像的简单拼接,以帮助你理解并掌握这一技术。 首先,让我们理解一下“图像拼接”...
使用`repmat`函数可以将一个数组或标量重复多次。例如,`L=repmat([1 2],3,2)`会生成一个3×6的矩阵,其中每个元素[1 2]被重复。 9. **数组拼接(Array Concatenation)** `vertcat`、`horzcat`和`cat`函数可以...
4. 多维数组和数组数组:处理高维数据或多个数组的集合。 通过深入学习和实践这些MATLAB数组的知识点,你可以更有效地进行数值计算、数据处理和算法开发,从而提升MATLAB编程的效率和质量。在实际工作中,结合具体...