在同一元素 ImmutableJS 中连接 2 个句子

Concatenating 2 sentence in the same element ImmutableJS

我正在尝试连接 2 个相同的当前元素的句子,并在每个不可变对象的末尾添加一个句点

这是输入和我当前的代码

const Immutable = require("immutable");
let error = Immutable.fromJS({
  name: ["This field is required", "Another error"],
  age: ["Only numeric characters are allowed"]
});

error.map((currElement, index) => {
console.log("The current iteration is: " + index);
console.log("The current element is: " + currElement);
});

我的预期输出是

 error = {
 name: "This field is required. Another error.",
 age: "Only numeric characters are allowed."
 };

试错

error.map((currElement, index) => {
  // console.log("The current iteration is: " + index);
  // console.log("The current element is: " + currElement);

  let element = currElement.get(0) + "." + " " + currElement.get(1) + ".";
  return console.log(element);
});

它很接近,但我仍然没有得到正确的输出。

数组上的大多数方法都可以在不可变列表中找到,.join() 就是其中之一,因此您应该能够做到:

const newError = error.map((value) => {
  return value.map(v => `${v}.`).join(' ');
}).toJS(); // .toJS() if you want the object from your expected output

您也应该在 运行 .join() 之前检查该值确实是一个列表。

what if i want the output to be immutable map - Mateen Kazia

只需删除末尾的 .toJS() 即可。 "map" 不可变项目上的函数将导致不可变项目