Ramda - 如何向数组中的对象添加新的 属性
Ramda - how to add new property to objects in array
我正在尝试向数组中的每个对象添加一个新的 属性。我的测试数组:
const array = [
{
"name": 'Test'
},
{
"name": 'Test2'
}
]
我尝试使用 R.assoc('selected', false, array);
但它没有按预期工作。
结果,我想得到:
const array = [
{
"name": 'Test',
"selected": false
},
{
"name": 'Test2',
"selected: false
}
]
任何帮助将不胜感激
R.assoc
通过制作一个对象的浅克隆来工作,而 setting/updating 是 属性。在这种情况下,您需要处理一个对象数组。使用 R.map
迭代数组,并通过应用 R.assoc
:
创建一个包含转换后的克隆对象的新数组
const fn = R.map(R.assoc('selected', false));
const array = [{"name":"Test"},{"name":"Test2"}];
const result = fn(array);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.27.1/ramda.min.js" integrity="sha512-rZHvUXcc1zWKsxm7rJ8lVQuIr1oOmm7cShlvpV0gWf0RvbcJN6x96al/Rp2L2BI4a4ZkT2/YfVe/8YvB2UHzQw==" crossorigin="anonymous"></script>
我正在尝试向数组中的每个对象添加一个新的 属性。我的测试数组:
const array = [
{
"name": 'Test'
},
{
"name": 'Test2'
}
]
我尝试使用 R.assoc('selected', false, array);
但它没有按预期工作。
结果,我想得到:
const array = [
{
"name": 'Test',
"selected": false
},
{
"name": 'Test2',
"selected: false
}
]
任何帮助将不胜感激
R.assoc
通过制作一个对象的浅克隆来工作,而 setting/updating 是 属性。在这种情况下,您需要处理一个对象数组。使用 R.map
迭代数组,并通过应用 R.assoc
:
const fn = R.map(R.assoc('selected', false));
const array = [{"name":"Test"},{"name":"Test2"}];
const result = fn(array);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.27.1/ramda.min.js" integrity="sha512-rZHvUXcc1zWKsxm7rJ8lVQuIr1oOmm7cShlvpV0gWf0RvbcJN6x96al/Rp2L2BI4a4ZkT2/YfVe/8YvB2UHzQw==" crossorigin="anonymous"></script>