Javascript n次forEach以angularjs表示

Javascript n次forEach以angularjs表示,javascript,angularjs,Javascript,Angularjs,我有属性变量和它从数据库返回的值,所以它可能还有其他键 $scope.attrs_value = {color: ["red"], size: [45, 42], etc...} 现在,我需要一个数组 $scope.attrs_value = {color: ["red"], size: [45, 42], type: ["round"]} 所以,我假设了静态属性,比如颜色和大小,但需要使其动态化,n它将为循环创建多少次并构建一个数组 默认属性将是数量、价格,因此我们不考虑它 我知道这不是完

我有属性变量和它从数据库返回的值,所以它可能还有其他键

$scope.attrs_value = {color: ["red"], size: [45, 42], etc...}
现在,我需要一个数组

$scope.attrs_value = {color: ["red"], size: [45, 42], type: ["round"]}
所以,我假设了静态属性,比如颜色和大小,但需要使其动态化,
n
它将为循环创建多少次并构建一个数组

默认属性将是数量、价格,因此我们不考虑它

我知道这不是完整的信息,但我会尽力解释

结果将类似于矩阵类型

for(var data in $scope.attrs_value.color) {
 for(var input in $scope.attrs_value.size) {
  dataArray.push({
   color : $scope.attrs_value.color[data],
   size  : $scope.attrs_value.size[input],
   quantity : "",
   price : $scope.price
  });
 }
}
如果插入两种颜色(红色、蓝色)和两种尺寸(42、45),则结果如下:

0: {color: "red", size: "45", quantity: "", price: "45"}
1: {color: "red", size: "42", quantity: "", price: "45"}

先前的答复 如果没有,很抱歉,但如果我理解您的意思,您需要的是如下数组:

0: {color: "red", size: "45", quantity: "", price: "45"}
1: {color: "red", size: "42", quantity: "", price: "45"}
2: {color: "blue", size: "45", quantity: "", price: "45"}
3: {color: "blue", size: "42", quantity: "", price: "45"}
为此,我想我将采用以下方法:

//更容易编写。。。对不起,我很懒
var attrs=$scope.attrs\u值;
//结果数组
var newArr=[];
//对象的键->[“颜色”、“大小”、“价格”…]
var keys=Object.keys(attrs);
//对象中最长数组的长度
var maxLen=0;
//获取最长数组的长度
for(键中的变量k){
if(属性[k]。长度>最大长度)
maxLen=attrs[k]。长度;
}
//创建结果数组
对于(变量i=0;i属性位置[i]| | 0,
颜色:attrs.color[i]| | null,
大小:属性大小[i]| |空,
...
})
}
编辑 好吧,如果你想要这样的东西

[
    {
        color: "red",
        size: 45,
        ...
    },
    {
        color: null,
        size: 42,
        ...
    },
    ...
]
那就更容易了!试试这个:

var attrs=$scope.attrs\u值;
var newArr=[];
attrs.color.forEach(函数(c){
属性大小forEach(函数){
纽瓦尔推({
颜色:c,
尺码:s,
...
})
});
})

我感谢您的努力,但是,没有静态的
大小:attrs.size[I]| | null,
类似于代码的大小,并且,我已经更新了问题,我希望在类似矩阵的结果中得到什么。我已经编辑了我的答案。请检查我现在是否得到了正确的^ ^现在,我需要的是我们不知道<代码> Atdis。颜色<代码> >代码> Atsis。大小< /代码>,或者任何一个或多个,所以,我们不考虑<代码> Atths。颜色< /代码>作为静态,我们需要<代码>。颜色< /代码>作为动态变量,并动态地生成内环。对不起,希尔,我不认为我跟随你。静态/动态变量是什么意思?
[
    {color: "red", size: "45", quantity: "", price: "45"}
    {color: "red", size: "42", quantity: "", price: "45"}
    {color: "blue", size: "45", quantity: "", price: "45"}
    {color: "blue", size: "42", quantity: "", price: "45"}
]