У меня есть массив со списком объектов. Я хочу разбить этот массив на один конкретный индекс, скажем, 4 (это переменная real). Я хочу сохранить вторую часть разделенного массива в другой массив. Может быть, просто, но я не могу придумать хороший способ сделать это.
Разбить массив на два на основе индекса в javascript
Ответ 1
Используйте slice как таковой:
var ar = [1,2,3,4,5,6];
var p1 = ar.slice(0,4);
var p2 = ar.slice(4);
Ответ 2
Вы можете использовать [email protected]
для измельчения всех элементов после указанного индекса с конца массива и возврата их:
x = ["a", "b", "c", "d", "e", "f", "g"];
y = x.splice(3);
console.log(x); // ["a", "b", "c"]
console.log(y); // ["d", "e", "f", "g"]
Ответ 3
используйте slice:
var bigOne = [0,1,2,3,4,5,6];
var splittedOne = bigOne.slice(3 /*your Index*/);
Ответ 4
Вы также можете использовать оболочку underscore/lodash:
var ar = [1,2,3,4,5,6];
var p1 = _.first(ar, 4);
var p2 = _.rest(ar, 4);
Ответ 5
Простая одна функция из lodash: const mainArr = [1,2,3,4,5,6,7] const [arr1, arr2] = _.chunk(mainArr, _.round(mainArr.length/2));
Ответ 6
Я бы рекомендовал использовать slice(), как показано ниже
ar.slice(startIndex,length);
или ar.slice(startIndex);
var ar = ["a","b","c","d","e","f","g"];
var p1 = ar.slice(0,3);
var p2 = ar.slice(3);
console.log(p1);
console.log(p2);