Почему эти две строки не равны, если они имеют одинаковое содержимое? [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 Почему эти две строки не равны, если они имеют одинаковое содержимое? [закрыто]

Сообщение Anonymous »

Эта функция предназначена для хранения действий, чтобы я мог позже их отменить

Код: Выделить всё

function actionManager(element, newData, oldData, type) {
let newAction = {};
if (type === 'text-change') {
const selectedText = selectedTextBeforeCursor(element);
const elementActions = undoList.filter(undo => undo.element === element);
const previousAction = elementActions[elementActions.length - 1];
const targetText = `${tempArray[tempArray.length - 1]?.selectedText} `;
if (elementActions.length) {
if (selectedText === targetText) {
previousAction.newData = tempArray[tempArray.length - 1]?.newData;
tempArray = [];
} else {
console.log(selectedText);
console.log(targetText);
tempArray.push({ newData, selectedText });
previousAction.newData = newData;
redoList = [];
return;
}
}

newAction = {
newData,
oldData,
type,
element
};
} else if (type === 'element-change') {
newAction = {
newData,
oldData,
type,
element
};
}
undoList.push(newAction);

redoList = [];
}

function selectedTextBeforeCursor(element) {
const selection = window.getSelection();
if (!selection.rangeCount) return '';

const range = selection.getRangeAt(0);
const preCaretRange = range.cloneRange();
preCaretRange.selectNodeContents(element);
preCaretRange.setEnd(range.endContainer, range.endOffset);

return preCaretRange.toString();
}
В моем коде if (selectedText === targetText) в функции actionManager() показывает false, даже если в console.log обе строки отображают одинаковое содержимое. Обе строки не равны? Я хочу, чтобы newAction создавался только при обнаружении места.


Подробнее здесь: https://stackoverflow.com/questions/798 ... me-content
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»