Как разделить массив на две части java
Перейти к содержимому

Как разделить массив на две части java

  • автор:

Как разбить строку на массив java

Чтобы разбить строку на массив строк в Java, нужно использовать метод строки split() , передав туда регулярное выражение в качестве разделителя:

String text = "one two three"; String[] words = text.split(" "); System.out.println(Arrays.toString(words)); // => ["one", "two", "three"] 

Как разделить массив на значения?

Приветствую.
Существует динамичный массив (количество значений всегда разное). Значения в нем выглядят примерно таким образом:

[ 1-Vas-12-Hello, 2-Tes-13-World, 3-Mek-13-Leon, 4-Sec-15-Mih ] 

Нужно: разбить массив на значения, а сами значения разрезать на массив по символу (-).
Разделение массива for и деление строки Split не дают нужного результата. На выходе получаю только одну разделенную строку. Кто может помочь с правильным кодом? Я даже не знаю, как это правильно сделать. Вот Код попытки. Заранее благодарю за помощь.

Как разбить массив на несколько массивов js

Можно использовать метод reduce() для разделения исходного массива на несколько массивов, основываясь на некотором условии.

Пример. Разделим массив чисел на два массива — один сочетает в себе все четные числа, а другой — все нечетные числа.

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; const [evenNumbers, oddNumbers] = numbers.reduce( (acc, val) =>  acc[val % 2].push(val); return acc; >, [[], []] ); console.log(evenNumbers); // [2, 4, 6, 8] console.log(oddNumbers); // [1, 3, 5, 7, 9] 

Здесь мы использовали reduce() , чтобы создать два массива внутри массива acc , один для четных чисел и другой для нечетных. Затем мы проходим по каждому числу в исходном массиве и добавляем его в соответствующий массив внутри acc на основе остатка от деления на 2.

Затем мы деструктурируем результат reduce() в две переменные evenNumbers и oddNumbers , чтобы получить два отдельных массива, содержащих только четные и нечетные числа соответственно.

26 сентября 2022

Для того что бы получить «срез» массива, можно воспользоваться встроенным методом slice

const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; console.log(nums.slice(3)); // Вывод: [ 4, 5, 6, 7, 8, 9, 10 ] console.log(nums.slice(2, 6)); // Вывод: [ 3, 4, 5, 6 ] console.log(nums.slice(-2)); // Вывод: [ 9, 10 ] console.log(nums.slice()); // Вывод: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

Для того чтобы «нарезать» массив на одинаковые части, можно воспользоваться методом chunk из библиотеки lodash:

_.chunk(['a', 'b', 'c', 'd'], 2); // Вывод: [['a', 'b'], ['c', 'd']] _.chunk(['a', 'b', 'c', 'd'], 3); // Вывод: [['a', 'b', 'c'], ['d']] 

Как разбить массив на части?

alex-1917

офигеть, а принцип разбиения какой нужен?)) пока что получается выглядит как загадка — и разгадать и придумать решение, молодец!

SuperPosan

Максим Корольский @SuperPosan Автор вопроса

alex-1917
Разбить на 3 столбца
Что бы в первый попадал первый элемент
Во второй второй и в третить каждый третий
0 1 2
3 4 5
6 7 8
9 10 11

alex-1917

Максим Корольский, у тебя просто нет нуля в первой строчке твоего текста и вместо восьмерки шестерка в 4 строчке твоего текста — офигенное задание, задавай и дальше такие же вопросы))) #красава!
я и подумал, наверное какая-то необычная логика. а каждый третий — это 2 строчки кода, вон внизу привели.

Решения вопроса 2

0xD34F

0xD34F @0xD34F Куратор тега JavaScript

const splitArr = (arr, chunks) => [. Array(chunks)].map((_, c) => arr.filter((n, i) => i % chunks === c));
const splitArr = (arr, chunks) => arr.reduce((acc, n, i) => ((acc[i % chunks] = acc[i % chunks] || []).push(n), acc), []);

Ответ написан более трёх лет назад
Комментировать
Нравится 6 Комментировать

Taraflex

Ищу работу. Контакты в профиле.

function colSplit(arr, c) < var res = new Array(c); for(var i=0;ifor(var i=0;i return res; > var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; console.log(colSplit(a, 3))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *