How to Convert an Array into a Complex Array JavaScript ?
Last Updated :
28 Aug, 2024
Complex arrays can represent multiple dimensions or data with a structure. This article discusses two approaches to converting an array into a more complex array.
Using Multidimensional Arrays
The simplest approach is to create inner arrays within the main array. You can achieve this using array literals and assignments.
Example: Creating a multidimensional array from a simple array with subarrays of two elements each.
JavaScript
const simpleArray = [1, 2, 3, 4, 5, 6];
const multidimensionalArray = [
[simpleArray[0], simpleArray[1]], // First subarray
[simpleArray[2], simpleArray[3]], // Second subarray
[simpleArray[4], simpleArray[5]] // Third subarray
console.log(multidimensionalArray);
Output:
[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ]
Time Complexity: O(n)
Space Complexity: O(n)
Using Array.from()
This approach provides a versatile approach to building multidimensional arrays. It can be used in combination with a mapping function to change the initial array.
Example: Creating a multidimensional array from a simple array by splitting into subarrays of two elements each using `Array.from()` and indices.
JavaScript
const simpleArray = [1, 2, 3, 4, 5, 6];
const multidimensionalArray =
Array.from({ length: Math.ceil(simpleArray.length / 2) }, (_, i)
=> [
simpleArray[i * 2],
simpleArray[i * 2 + 1] || null
]);
console.log(multidimensionalArray);
Output[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ]
Time Complexity: O(n)
Space Complexity: O(n)
Using the reduce() Method
Another efficient approach to converting an array into a more complex multidimensional array is by using the reduce() method. This method allows for a functional programming style, where you accumulate results based on the elements of the array.
Example: Implementation of a program to create a multidimensional array from a simple array with subarrays of two elements each using the reduce() method.
JavaScript
function toMultidimensionalArray(arr) {
return arr.reduce((acc, curr, index) => {
if (index % 2 === 0) {
acc.push([curr]);
} else {
acc[acc.length - 1].push(curr);
}
return acc;
}, []);
}
let arr = [1, 2, 3, 4, 5, 6];
console.log(toMultidimensionalArray(arr));
arr = [7, 8, 9, 10, 11, 12];
console.log(toMultidimensionalArray(arr));
Output[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ]
[ [ 7, 8 ], [ 9, 10 ], [ 11, 12 ] ]
Using the map() Method with slice() Method
This approach utilizes the map() method in combination with slice() to convert a simple array into a complex multidimensional array. The map() function iterates over the array, while slice() extracts portions of the array to create subarrays.
Example: Converting a simple array into a multidimensional array with subarrays of two elements each using the map() and slice() methods.
JavaScript
const simpleArray = [1, 2, 3, 4, 5, 6];
const subArraySize = 2;
const multidimensionalArray = Array(Math.ceil(simpleArray.length / subArraySize))
.fill()
.map((_, index) => simpleArray.slice(index * subArraySize, (index + 1) * subArraySize));
console.log(multidimensionalArray);
// Contributed by Nikunj Sonigara
Output[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ]
Time Complexity: O(n)
Space Complexity: O(n)
Similar Reads
How to convert arguments object into an array in JavaScript ? The arguments object is an array-like object that represents the arguments passed in when invoking a function. This array-like object does not have the array prototype chain, hence it cannot use any of the array methods. This object can be converted into a proper array using two approaches: Method 1
5 min read
How to Convert an Array of Objects into an Array of Arrays ? An Array of objects is an array that contains multiple objects as its elements which can be converted into an array of arrays i.e. an array that contains multiple arrays as its elements. There are several methods listed below to achieve this task. Table of Content Using Object.keys() and Object.valu
3 min read
How to Merge/Flatten an array of arrays in JavaScript ? Merging or flattening an array of arrays in JavaScript involves combining multiple nested arrays into a single-level array. This process involves iterating through each nested array and appending its elements to a new array, resulting in a flattened structure.To Merge or flatten array we can use arr
3 min read
How to Declare an Array in JavaScript? Array in JavaScript are used to store multiple values in a single variable. It can contain any type of data like - numbers, strings, booleans, objects, etc. There are varous ways to declare arrays in JavaScript, but the simplest and common is Array Litral Notations. Using Array Literal NotationThe b
3 min read
How to convert Integer array to String array using JavaScript ? The task is to convert an integer array to a string array in JavaScript. Here are a few of the most used techniques discussed with the help of JavaScript. Approaches to convert Integer array to String array:Table of ContentApproach 1: using JavaScript array.map() and toString() methodsApproach 2: Us
2 min read
Convert an Array into Array of Subarrays using JavaScript Given an array Num, our task is to convert it into an array of subarrays. Each subarray should contain a single element from the original array. we are going to discuss different approaches for solving this problem.Example:Input: Num=[1, 2, 3, 4] Output:[[1], [2], [3], [4]]Below are the approaches t
3 min read
How To Convert Map Keys to an Array in JavaScript? Here are the various methods to convert Map keys to an array in JavaScript1. Using array.from() MethodThe Array.from() method in JavaScript converts Map keys to an array by using 'Array.from(map.keys())'. JavaScriptlet map = new Map().set('GFG', 1).set('Geeks', 2); let a = Array.from(map.keys()); co
2 min read
How to convert Object's array to an array using JavaScript ? Given an array of objects and the task is to convert the object values to an array with the help of JavaScript. There are two approaches that are discussed below: Approach 1:We can use the map() method and return the values of each object which makes the array. Example: html<!DOCTYPE HTML>
2 min read
How to deep flatten an array in JavaScript? In this article, we will learn how to deep flatten an array in JavaScript. The flattening of an array is a process of merging a group of nested arrays present inside a given array. Deep flattening means that the array would be completely flattened. Example: Input: [1,2,3,4,5,[6,[7,8,9]]] Output: [1,
2 min read
How to Convert Object to Array in JavaScript? In this article, we will learn how to convert an Object to an Array in JavaScript. Given an object, the task is to convert an object to an Array in JavaScript. Objects and Arrays are two fundamental data structures. Sometimes, it's necessary to convert an object to an array for various reasons, such
4 min read