Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Redux ES6(BabelJS):是否有可以迭代此结构的映射函数?_Javascript_Ecmascript 6_Redux_Babeljs - Fatal编程技术网

Javascript Redux ES6(BabelJS):是否有可以迭代此结构的映射函数?

Javascript Redux ES6(BabelJS):是否有可以迭代此结构的映射函数?,javascript,ecmascript-6,redux,babeljs,Javascript,Ecmascript 6,Redux,Babeljs,} 这是一个减速器,我希望能够做到: { '1': { id: 1, parent_id: 0, elementType: 'view', style: {color: 'green'}, selected: false, childIds: [2] },

}

这是一个减速器,我希望能够做到:

{
            '1': {
                id: 1,
                parent_id: 0,
                elementType: 'view',
                style: {color: 'green'},
                selected: false,
                childIds: [2]
            },
            '2': {
                id: 2,
                parent_id: 1,
                elementType: 'text',
                style: {color: 'green'},
                selected: true,
                childIds: []
            }
我认为可能会使用,但它可能不会发挥与redux映射好

更新:

按照这里的建议,我尝试构建一个新的map函数。这个版本就是我带来的:

obj.map(([key, value])=> {
    if (value.id === 1) {
        return {...value, selected:false};
    } else {
        return value;
    }
});
我试着这样使用它(一个例子):


与此同时,测试正在通过

尝试使用Object.keys(),它将允许您遍历对象键,这样您就可以访问特定值。

尝试使用Object.keys(),它将允许您遍历对象键,这样您就可以访问特定值。

您可以尝试使用
Object.entries
。这仍然是一个提议,但我认为它已经隐藏在一些巴贝尔舞台的旗帜后面

let newState = map(oldState, element => {
    if (element.id === 1) {
        return {...element, selected:false};
    } else {
        return {...element};
    }
});

您可以尝试使用
对象项。这仍然是一个提议,但我认为它已经隐藏在一些巴贝尔舞台的旗帜后面

let newState = map(oldState, element => {
    if (element.id === 1) {
        return {...element, selected:false};
    } else {
        return {...element};
    }
});

您可以给它一个
length
属性和
apply()。看起来像是of的
的一个很好的用例…我正在编写测试。编写我自己版本的map是一种很好的测试方法吗?嗯,测试代码来自哪里并不重要,重要的是如何测试。您还可以使用一个简单的工具将一个对象对象转换为一个对象数组,然后使用该真实数组上的任何对象。您可以为它指定一个
长度
属性和
应用()
[].map()
,或者编写您自己的map()版本。看起来像是of的
的一个很好的用例…我正在编写测试。编写我自己版本的map是一种很好的测试方法吗?嗯,测试代码来自哪里并不重要,重要的是如何测试。您还可以使用一个简单的工具将对象对象转换为对象数组,然后在那个真实的数组上使用任何东西。我在寻找一个类似于地图的方法来返回一个新对象,就像我想为Redux返回一个newState一样。我在寻找一个类似于地图的方法来返回一个新对象,就像我想为Redux返回一个newState一样。这就是我为什么要找一个类似于地图的方法来返回一个新对象used reduce我正在寻找一个类似映射的方法来返回一个新对象,因为我想为Redux返回一个newState,这就是我使用reduce的原因
for (const [key, value] of Object.entries(obj)) {
    //do whatever you want
}