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>