diff --git a/snippets/initializeNDArray.md b/snippets/initializeNDArray.md new file mode 100644 index 000000000..1b7fefaab --- /dev/null +++ b/snippets/initializeNDArray.md @@ -0,0 +1,16 @@ +### initializeNDArray + +Create a n-dimensional array with given value. + +Use recursion. +Use `Array.map()` to generate rows where each is a new array initialized using `initializeNDArray`. + +```js +const initializeNDArray = (val, ...args)=> + args.length === 0 ? val : Array.from({ length: args[0] }).map(() => initializeNDArray(val, ...args.slice(1))); +``` + +```js +initializeNDArray(1,3); // [1,1,1] +initializeNDArray(5,2,2,2); // [[[5,5],[5,5]],[[5,5],[5,5]]] +``` diff --git a/tag_database b/tag_database index efbe2d71b..3a9b2cb60 100644 --- a/tag_database +++ b/tag_database @@ -110,6 +110,7 @@ initialize2DArray:array initializeArrayWithRange:array,math initializeArrayWithRangeRight:array,math initializeArrayWithValues:array,math +initializeNDArray:array,recursion inRange:math intersection:array,math intersectionBy:array,function