Я пытаюсь объединить 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.info("The current iteration is: " + index);
console.info("The current element is: " + currElement);
});
мой ожидаемый результат
error = {
name: "This field is required. Another error.",
age: "Only numeric characters are allowed."
};
След и попытка ошибки
error.map((currElement, index) => {
// console.info("The current iteration is: " + index);
// console.info("The current element is: " + currElement);
let element = currElement.get(0) + "." + " " + currElement.get(1) + ".";
return console.info(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" на неизменяемом элементе приведет к неизменному элементу
Да, спасибо, я полностью забываю о попытках использовать шаблон буквально, что, если я хочу, чтобы вывод был неизменной картой, могу ли я просто заменить .toJS () на .immutable.map ()?