Javascript заменить 3 параметрами

Как работает следующий метод замены Javascript?

records.replace(index, 1, this.get(`model.data.${index}`))

Я обычно видел JS replace() с 2 параметрами, но не уверен, как работают 3 параметра?

записи - это массив объектов (для рендеринга отдельных строк таблицы)

Что вы подразумеваете под тремя параметрами, сигнатура функции замены это str.replace(regexp|substr, newSubstr|function)

Code Maniac 18.02.2019 13:39

Что такое records?

TKoL 18.02.2019 13:39

записи - это массив объектов (для рендеринга отдельных строк таблицы)

copenndthagen 18.02.2019 13:40

Как спросил TKoL, что такое records? Нить? Множество? Что-то совсем другое? Дайте нам контекст, без дополнительной информации трудно ответить.

Newbyte 18.02.2019 13:40

Это очень странно, у массивов в JavaScript по умолчанию нет метода replace. Какие библиотеки/фреймворки вы используете?

Newbyte 18.02.2019 13:43

Я использую EmberJS... извините, что не добавил деталей в первоначальный вопрос

copenndthagen 18.02.2019 13:46

@testndtv Может быть, вы хотите это: emberjs.com/api/ember/2.15/classes/Ember.ArrayProxy/methods/‌​…

Gerardo Furtado 18.02.2019 13:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
7
914
2

Ответы 2

I have normally seen JS replace() with 2 parameters

Метод replace, который вы видели, вероятно, был строковым.

Мое обоснованное предположение состоит в том, что records — это нет строка.

Итак, вы должны проверить, что такое records на самом деле. Метод не является частью языка JS, поэтому он либо records объект, определенный разработчиком, либо расширяет прототип некоторого встроенного типа (бррр).

Мне кажется, что этот метод имеет сходство с сращивание массива.

Если records является массивом, то к массивоподобному объекту разработчик мог бы добавить replace в качестве псевдонима splice, может быть потому, что ему показалось более понятным, что он делает (опять же, я просто догадываюсь, у меня нет достаточно данных).

Если мое предположение верно, эта строка заменит в элементе records массива/подобном массиву элемент 1 по индексу, указанному index, значением, возвращаемым this.get(…).

the replace method you've seen was probably the string's one. даже это принимает только два параметра, а не три, если вы передадите третий с запятой, это не повлияет
Code Maniac 18.02.2019 13:47

@CodeManiac Да, это то, о чем я говорю, возможно, я недостаточно ясно выразился :) ОП сказал I have normally seen JS replace() with 2 parameters, поэтому я ответил the replace method you've seen was probably the string's one. (это, на самом деле, принимает 2 параметра)

ZER0 18.02.2019 13:49

@ZERO ну да, с объемом данных, о которых идет речь, это неясно, но для меня эта строка не имеет смысла, поэтому я указал. P.s.: - я не минусовал :)

Code Maniac 18.02.2019 13:55

@CodeManiac, возможно, это мой английский, но я не понимаю, что не имеет смысла в этом предложении: ОП сказал, что до сих пор видел только методы replace с двумя аргументами, и я сказал, что, вероятно, метод replace, который он видел, был Строковые единицы, так как замена строки требует двух аргументов. :) Вы сказали, что «это не имеет смысла», так как замена String принимает только два параметра, но это именно то, что я также говорю, поэтому я, честно говоря, не понимаю. P.S. Меня все равно не волнует понижение, np :)

ZER0 18.02.2019 13:58

Учитывая, что вы используете Ember.js, как указано в комментарии, я предполагаю, что вы имеете в виду метод замены Ember.js. Он принимает три параметра: индекс, с которого начинается замена, количество элементов, которые следует удалить из массива, и, наконец, массив элементов, которые необходимо добавить в ваш массив.

Для получения дополнительной информации проверьте это.

Другие вопросы по теме