Добавление элементов в массив в JavaScript - очень простая проблема. Сам JavaScript предоставляет большое количество таких функций. Мы можем использовать функции, принадлежащие JS, чтобы быстро добавить элементы в массив. В этой статье суммируются следующие методы JavaScript для добавления массива.
Метод ARR.Concat (ARR2) обычно использовался для добавления массива, пример заключается в следующем:
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
var arr = new Array (3);
arr [0] = "Испытательный массив 1 составляет 1";
arr [1] = "Испытательный массив 1 составляет 2";
arr [2] = "Испытательный массив 1 составляет 3";
var arr2 = новый массив (3);
arr2 [0] = "Испытательный массив 2 составляет 1";
arr2 [1] = "Испытательный массив 2 составляет 2";
arr2 [2] = "Тестовый массив 2 составляет 3";
document.write (arr.concat (arr2)+"<br/>");
Document.write (arr.concat («Ваш дядя 2», «Ваш дядя 3»)+"<br/>")
</script>
Многие люди были запутаны в добавлении и удалении элементов массива JS. Теперь я дам следующий тестовый код:
Кода -копия выглядит следующим образом:
var arr = new Array ();
arr [0] = "aaa";
arr [1] = "bbb";
arr [2] = "ccc";
//Alert(Arr.length) ;//3
arr.pop ();
//Alert(Arr.Length) ;//2
//Alert(Arr=R.Length-1^);//bbb
arr.pop ();
//Alert(Arr=RAR.Length-1^);/AAA
//Alert(Arr.length) ;//1
var arr2 = new Array ();
//Alert(Arr2.length) ;//0
arr2 [0] = "aaa";
arr2 [1] = "bbb";
//Alert(Arr2.length) ;//2
arr2.pop ();
//Alert(Arr2.length) ;//1
arr2 = arr2.slice (0, arr2.length-1);
//Alert(Arr2.length) ;//0
arr2 [0] = "aaa";
arr2 [1] = "bbb";
arr2 [2] = "ccc";
arr2 = arr2.slice (0,1);
оповещение (ARR2.Length); // 1
оповещение (arr2 [0]); // aaa
оповещение (arr2 [1]); // не определен
Сдвиг: удалить первый элемент исходного массива и вернуть значение удаленного элемента; Если массив пуст, верните неопределенную
var a = [1,2,3,4,5];
var b = a.shift (); // A: [2,3,4,5] B: 1
Unshift: добавьте параметр в начало исходного массива и верните длину массива
var a = [1,2,3,4,5];
var b = a.unshift (-2, -1); // A: [-2, -1,1,2,3,4,5] B: 7
ПРИМЕЧАНИЕ. Тестовое возвращаемое значение в IE6.0 всегда не определена, а возвратное значение теста в FF2.0 составляет 7, поэтому возвратное значение этого метода ненадежно. Когда вам нужно использовать возвратное значение, вы можете использовать сплайс вместо этого метода.
POP: Удалить последний элемент исходного массива и вернуть значение удаленного элемента; Если массив пуст, верните неопределенную
var a = [1,2,3,4,5];
var b = a.pop (); // a: [1,2,3,4] b: 5 // Если вам не нужно возвращать, просто позвоните напрямую напрямую
Нажмите: добавьте параметр к концу исходного массива и верните длину массива
var a = [1,2,3,4,5];
var b = a.push (6,7); // A: [1,2,3,4,5,6,7] B: 7
Concat: возвращает новый массив, который состоит из добавления параметров в исходный массив.
var a = [1,2,3,4,5];
var b = a.concat (6,7); // a: [1,2,3,4,5] B: [1,2,3,4,5,6,7]]
Splice (Start, DeleteCount, Val1, Val2, ...): DeleteCount Item из начальной позиции и вставьте Val1, val2, ...
var a = [1,2,3,4,5];
var b = a.splice (2,2,7,8,9); // A: [1,2,7,8,9,5] B: [3,4]
var b = a.splice (0,1); // тот же сдвиг
A.Splice (0,0, -2, -1); var b = a.length; // тот же не стесняющийся
var b = a.splice (a.length-1,1); // такая же поп
A.Splice (A.Length, 0,6,7); var b = a.length; // тот же толчок
Обратный: обратный массив
var a = [1,2,3,4,5];
var b = A.Reverse (); // A: [5,4,3,2,1] B: [5,4,3,2,1]
Sort (OrderFunction): сортируйте массив по указанным параметрам
var a = [1,2,3,4,5];
var b = a.sort (); // A: [1,2,3,4,5] B: [1,2,3,4,5]
Slice (Start, End): Возвращает новый массив, состоящий из элементов из указанного подписания Start, к индексу End в исходном массиве.
var a = [1,2,3,4,5];
var b = a.slice (2,5); // A: [1,2,3,4,5] B: [3,4,5]
Присоединение (разделитель): группируйте элементы массива в строку, с сепаратором в качестве сепаратора. Если опущены, используйте запятые в качестве сепаратора по умолчанию.
var a = [1,2,3,4,5];
var b = a.join ("|"); // A: [1,2,3,4,5] B: "1 | 2 | 3 | 4 | 5"
Вот еще один способ использовать массив для имитации JavastringBuffer для обработки строк:
/**
* Функция обработки строки
*/
Функция stringBuffer ()
{
var arr = new Array;
this.append = function (str)
{
arr [arr.length] = str;
};
this.tostring = function ()
{
return arr.join (""); // Пинг массив приложений в строку
};
}
Сегодня я внезапно обнаружил, что Join - хороший способ преобразовать массивы в строки в приложении, поэтому я заключил их в объекты и использовал:
/**
* Преобразовать массив в строку, которая разделена определенным символом
*/
Функциональный ArrayToString (ARR, сепаратор)
{
if (! seperator) sepreator = ""; // Если сепаратор нулевой, по умолчанию он будет пуст по умолчанию
return arr.join (разделитель);
}
/**
* Найти строку, содержащуюся в массиве
*/
Функция ArrayFindString (arr, String)
{
var str = arr.join ("");
вернуть str.indexof (string);
}
Наконец, есть тест для друзей, которые любят играть в A.Push.Apply (a, b); При добавлении массивов.
a.push.apply (a, b); Этот способ самообучения классный, и вам не нужно писать для цикла, и вы не столкнулись с проблемами. До сегодняшнего дня я встречусь с ямой, когда B, который я хочу добавить, является большим массивом.
Кода -копия выглядит следующим образом:
a = new Array ();
b = новый массив (125624);
a.push.apply (a, b);
Приведенный выше код бросает следующее исключение под Mac Chrome
Uncaught drangeerror: максимальный размер стека вызовов превышен
Если вы измените массив на B = новый массив (125623); Было бы неплохо иметь меньший элемент. Я проверил, что другие браузеры также имеют большие массивы, чтобы донести ошибку, но критические значения разных браузеров все еще разные
Предложение, приведенное здесь, состоит в том, чтобы быть честным и практическим фондом, что может не только избежать проблем с исключениями больших массивов, но и рассматривать эффективность Foreach как самые быстрые.