Объединение 2 предложений в одном элементе ImmutableJS - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь составить 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);
});

myожидаемый результат -

 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);
});

Его закрытие, но я все еще не получаю правильный вывод.

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

что, если я хочу, чтобы вывод был неизменным - Mateen Kazia

Просто удалите .toJS () из конца.Функция «карта» на неизменяемом элементе приведет к неизменному элементу

0 голосов
/ 19 декабря 2018

Большинство методов для массивов можно найти в неизменяемых списках, .join () - один из них, поэтому вы должны уметь:

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

Вероятно, вам следует проверить, что значение действительноСписок до запуска .join () на нем тоже.?

...