Nov 12, 2022 20:03
Осталось написать правильный код для ответа)
Nov 12, 2022 20:03
Отлично!)
Nov 12, 2022 19:18
@SwaD Он ведёт себя одинаково)
Nov 12, 2022 19:01
@SwaD Вы не понимаете проблему. Оператор ... - это не клонирование) Он хорошо работает только с примитивами
Nov 12, 2022 19:00
@SwaD Никогда нельзя забывать про не примитивы!
Nov 12, 2022 18:25
Ну и надо const clone)
Nov 12, 2022 18:23
Отлично, тут либо клон переписать либо сказать, что это только для примера и не юзать в проде
Nov 12, 2022 18:22
Ваш код?)
Nov 12, 2022 18:22
let items = [
{ws: false, data: [1,2,3,4,5]},
{ws: false, data: [1,2,3,4,5]},
{ws: false, data: [1,2,3,4,5]},
{ws: false, data: [1,2,3,4,5]},
];

function clones(arr) {
return arr.map(item => {
return { ...item }
});
}

let clone = clones(items);

for (let i in items) {
items[i].data = [];
}

console.log(clone, items);
Nov 12, 2022 18:22
```
Nov 12, 2022 18:22
О какой структуре данных вы говорите?
Nov 12, 2022 18:10
clone[0].data.push(11); - меняет родителя
Nov 12, 2022 18:10
Я вам же даже код приложил.
Nov 12, 2022 18:10
Разве клонирование не равно новый? - а что вы понимаете под клонированием в JS?
Nov 12, 2022 18:10
Ну тогда необходимо указать, что вы создаёте новые объекты, но ссылки остаются. А то он(пользователь) потом долго косяк будет искать или задаст новый вопрос.
Nov 12, 2022 18:10
А дальше вложенность? clone[0].data.push(11); - поломал ваше клонирование.
 
Feb 4, 2022 07:03
Ну это баг)
Feb 4, 2022 07:02
@Grundy Я уж думал, вы просто издеваетесь. Т.е. вы не внимательно смотрели на картинку и не заметили то, что я выделил красным)))
Feb 3, 2022 17:29
Так что там баг.
Feb 3, 2022 17:29
А вот при наведении курсора на тип, появляется подсказка и она верная.
Feb 3, 2022 17:28
Вы принимали участие в разработке?
Feb 3, 2022 17:27
@Grundy В теории. Вы же не будите ручаться за отображение вывода компилятора?
Feb 3, 2022 16:39
Не доработать код могли
Feb 3, 2022 16:39
Ну реализация броузеров может быть разной
Feb 3, 2022 16:37
На линухе и в винде воспроизводится
Feb 3, 2022 16:35
А ось какая у вас?
Feb 3, 2022 16:34
@Grundy Я выделил вывод. Он не соответствует значению типа. Не отображаются пробелы.
Feb 3, 2022 11:58
И я разобрался как это работает)
Feb 3, 2022 11:11
Вам это не кажется странным? Меня например это сильно сбило с толкую
Feb 3, 2022 09:40
Пока удалю вопрос, слишком странные результаты получаю при разных символах в инион типах. Буду разбираться. Может потом сам отвечу. Спасибо. И пока, я не могу вам объяснить проблему. Спасибо.
Feb 3, 2022 09:12
Я ожидаю, что `${' ' | '\n' | '\t'}${infer T}` при переданной в тип `TrimLeft` строки ` foo bar`, превратится в следующее:

` foo bar` |
`\nfoo bar` |
`\tfoo bar`
Т.е. это тип юнион
где первый символ строки заменяется за символ из ' ' | '\n' | '\t'
Feb 3, 2022 09:11
где первый символ строки заменяется за символ из ' ' | '\n' | '\t'
Feb 3, 2022 09:10
Т.е. это тип юнион
Feb 3, 2022 09:09
Я ожидаю, что `${' ' | '\n' | '\t'}${infer T}` при переданной в тип `Trim` строки ` foo bar`, превратится в следующее:

` foo bar` |
`\n foo bar` |
`\t foo bar`
Feb 3, 2022 09:00
Ок. Сейчас попробую
Feb 3, 2022 08:55
@Grundy вы про дистрибутивность?
 
Jan 28, 2022 11:45
Так лучше?
Jan 28, 2022 11:14
На основе)
Jan 28, 2022 11:08
Я тоже об этом думал. продублирую. Спасибо)
Jan 28, 2022 11:08
[1,2]
Jan 28, 2022 11:07
Опечатался
Jan 28, 2022 11:07
Точно
Jan 28, 2022 10:56
Прошу вас проверить на корректность)
Jan 28, 2022 10:11
Ок. Попробую.
Jan 28, 2022 10:10
Если вам не влом) Просто для меня это было не очевидно) Уж извините.
Jan 28, 2022 10:09
Если из всего этого сформируете ответ) Я бы принял)
Jan 28, 2022 10:09
Спасибо
Jan 28, 2022 10:09
Да. Именно так)
Jan 28, 2022 10:06
Это так работает?