2016-06-02 5 views
7

Пожалуйста, не судите меня, я новичок в AngularJS.Angularjs сращивание против ломтика?

В чем разница между сращиванием и срезом?

$scope.participantForms.splice(index, 1); 
$scope.participantForms.slice(index, 1); 
+0

сращивание и фрагмент встроенных команд Javascript - не специально AngularJS команды. Slice возвращает элементы массива из «start» до тех пор, пока не будут заданы «end». Splice мутирует фактический массив и начинается с «start» и сохраняет количество указанных элементов. В Google есть много информации об этом, просто выполните поиск. – mrunion

+0

проверьте, помогает ли этот aswer http://stackoverflow.com/questions/1777705/a-question-about-javascripts-slice-and-splice-methods –

ответ

1

Сплайсинг и кусочки встроены в Javascript команды, а не команды AngularJS. Slice возвращает элементы массива из «start» до тех пор, пока не будут заданы «end». Splice мутирует фактический массив и начинается с «start» и сохраняет количество указанных элементов. В Google есть много информации об этом, просто выполните поиск.

+0

Splice _deletes_ указанное число, а затем вставляет любые последующие аргументы. –

1

Метод slice() возвращает копию части массива в новый объект массива.

$scope.participantForms.slice(index, 1); 

Это делает НЕ изменить participantForms массив, но возвращает новый массив, содержащий один элемент найденный в index позиции в исходном массиве.

Метод splice() изменяет содержимое массива путем удаления существующих элементов и/или добавления новых элементов.

$scope.participantForms.splice(index, 1); 

Это позволит удалить один элемент из массива participantForms в index положении.

Это встроенные функции Javascript, AngularJS не имеет к ним никакого отношения.

+0

Oooh! Я вижу, что это действительно четкое объяснение! –

9

splice() метод изменяет исходный массив, где slice() не изменяет исходный массив, а infact возвращает новый.

var array=[1,2,3,4,5]; 
console.log(array.splice(2)); 

Это remove 3,4,5 и оригинальное массив влияет с в результате [1,2].

var array=[1,2,3,4,5] 
console.log(array.slice(2)); 

Это remove 3,4,5 и оригинальный массив не влияет с в результате [1,2].

Ниже приведена простая скрипка для того же.

//splice 
var array=[1,2,3,4,5]; 
console.log(array.splice(2)); 

//slice 
var array2=[1,2,3,4,5] 
console.log(array2.slice(2)); 


console.log("----after-----"); 
console.log(array); 
console.log(array2); 

https://jsfiddle.net/nbrn8182/

0

сращивания и Slice оба функции Javascript массива.

сращивание против Кусочка метода

  1. Сращивания() возвращает удаленный элемент (ы) в массиве и ломтике() возвращает выбранный элемент (ы) в массиве, в качестве нового объект массива.

  2. Метод splice() изменяет исходный массив, а метод slice() не изменяет исходный массив.

  3. Метод splice() может принимать n количество аргументов, а метод slice() принимает 2 аргумента.

сращивания с примером

Аргумент 1: Index, Обязательный. Целое число, указывающее, в какую позицию добавлять/удалять элементы. Используйте отрицательные значения для указания позиции из конца массива.

Аргумент 2: Дополнительно. Количество элементов для удаления. Если установлено значение 0 (ноль), никакие элементы не будут удалены. И если не пройдет, все позиции из предоставленного индекса будут удалены.

Аргумент 3 ... n: Дополнительно. Новый элемент (ы), который будет добавлен в массив.

var array=[1,2,3,4,5]; 
 
console.log(array.splice(2)); 
 
// shows [3, 4, 5], returned removed item(s) as a new array object. 
 
    
 
console.log(array); 
 
// shows [1, 2], original array altered. 
 
    
 
var array2=[6,7,8,9,0]; 
 
console.log(array2.splice(2,1)); 
 
// shows [8] 
 
    
 
console.log(array2.splice(2,0)); 
 
//shows [] , as no item(s) removed. 
 
    
 
console.log(array2); 
 
// shows [6,7,9,0]

фрагмент с примером

Аргумент 1: Обязательный. Целое число, указывающее, где начать выбор (первый элемент имеет индекс 0). Используйте отрицательные числа для выбора из конца массива.

Аргумент 2: Дополнительно. Целое число, которое указывает, где заканчивать выбор, но не включает. Если этот параметр опущен, будут выбраны все элементы из начальной позиции и до конца массива. Используйте отрицательные числа для выбора из конца массива.

var array=[1,2,3,4,5] 
 
console.log(array.slice(2)); 
 
// shows [3, 4, 5], returned selected element(s). 
 
    
 
console.log(array.slice(-2)); 
 
// shows [4, 5], returned selected element(s). 
 
console.log(array); 
 
// shows [1, 2, 3, 4, 5], original array remains intact. 
 
    
 
var array2=[6,7,8,9,0]; 
 
console.log(array2.slice(2,4)); 
 
// shows [8, 9] 
 
    
 
console.log(array2.slice(-2,4)); 
 
// shows [9] 
 
    
 
console.log(array2.slice(-3,-1)); 
 
// shows [8, 9] 
 
    
 
console.log(array2); 
 
// shows [6, 7, 8, 9, 0]

Смежные вопросы