Javascript.RU

PHP-функция: array_reverse

Javascript:

function array_reverse( array, preserve_keys ) {	// Return an array with elements in reverse order
	// 
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Karol Kowalski

	var arr_len=array.length, newkey=0, tmp_ar = {}

	for(var key in array){
		newkey=arr_len-key-1;
		tmp_ar[(!!preserve_keys)?newkey:key]=array[newkey];
	}

	return tmp_ar;
}

Примеры:

array_reverse( [ 'php', '4.0', ['green', 'red'] ], true );
{ 2: ['green', 'red'], 1: 4, 0: 'php'}


Автор: e1f, дата: 8 сентября, 2009 - 18:08
#permalink

Фигня какая-то. for ... in для массива - не тру, кроме того, какие религиозные соображения мешают сделать просто array.reverse()?


Автор: Гость (не зарегистрирован), дата: 27 августа, 2010 - 01:48
#permalink

+1


Автор: Гость (не зарегистрирован), дата: 3 августа, 2012 - 10:02
#permalink

вижу что если сделать просто array.reverse(), то ключи не сохранятся... поскольку массив в js не содержит ключей. А эта функция возвращает не массив [] а объект {} содержащие "ключи" как усыхающий декремент от количества элементов.
Думаю по идее более полезна была бы функция реверса (как массива) так и объекта с ,типа , ключами на первом уровне вложенности....


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
8 + 4 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Реклама
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum