Как использовать некоторые как обратный вызов фильтра в JavaScript? [Дубликат]

390
задан animuson 16 December 2014 в 05:49
поделиться

20 ответов

641
ответ дан mikemaccana 24 August 2018 в 16:08
поделиться
3
ответ дан Abk 24 August 2018 в 16:08
поделиться
0
ответ дан Alireza 24 August 2018 в 16:08
поделиться
28
ответ дан animuson 24 August 2018 в 16:08
поделиться
0
ответ дан Autumnswind 24 August 2018 в 16:08
поделиться
9
ответ дан brad 24 August 2018 в 16:08
поделиться
0
ответ дан Gaurav 24 August 2018 в 16:08
поделиться
4
ответ дан Gheljenor 24 August 2018 в 16:08
поделиться
1
ответ дан guest271314 24 August 2018 в 16:08
поделиться
-2
ответ дан HandyAndyShortStack 24 August 2018 в 16:08
поделиться
4
ответ дан jjbskir 24 August 2018 в 16:08
поделиться
12
ответ дан LightSpeedC Kazuaki Nishizawa 24 August 2018 в 16:08
поделиться
0
ответ дан Matrix 24 August 2018 в 16:08
поделиться
4
ответ дан Michał Perłakowski 24 August 2018 в 16:08
поделиться
0
ответ дан Rick 24 August 2018 в 16:08
поделиться
0
ответ дан user 24 August 2018 в 16:08
поделиться
36
ответ дан Yves M. 24 August 2018 в 16:08
поделиться
4
ответ дан Zane Hooper 24 August 2018 в 16:08
поделиться

Используйте Array.from() , который принимает объект типа типа (такой как arguments) в качестве аргумента и преобразует его в массив:

(function() {
  console.log(Array.from(arguments));
}(1, 2, 3));

Обратите внимание, что он не работает в некоторых старых браузерах, таких как IE 11, поэтому, если вы хотите поддерживать эти браузеры, вы должны использовать Babel .

4
ответ дан MichaÅ‚ PerÅ‚akowski 7 October 2018 в 23:00
поделиться

Использование:

function sortArguments() {
  return arguments.length === 1 ? [arguments[0]] :
                 Array.apply(null, arguments).sort();
}

Array(arg1, arg2, ...) возвращает [arg1, arg2, ...]

Array(str1) возвращается [str1]

Array(num1) возвращает массив, который имеет num1 элементы

Вы должны проверить количество аргументов!

Array.slice версия (медленнее):

function sortArguments() {
  return Array.prototype.slice.call(arguments).sort();
}

Array.push версия (медленнее , быстрее, чем срез):

function sortArguments() {
  var args = [];
  Array.prototype.push.apply(args, arguments);
  return args.sort();
}

Переместить версию (медленнее, но малый размер быстрее):

function sortArguments() {
  var args = [];
  for (var i = 0; i < arguments.length; ++i)
    args[i] = arguments[i];
  return args.sort();
}

Array.concat версия (самая медленная):

function sortArguments() {
  return Array.prototype.concat.apply([], arguments).sort();
}
12
ответ дан LightSpeedC Kazuaki Nishizawa 7 October 2018 в 23:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: