From f327051be6e7ae860396021f8ee3f84a4ed98b7d Mon Sep 17 00:00:00 2001 From: maple3142 Date: Sat, 14 Apr 2018 15:52:39 +0800 Subject: [PATCH 1/3] Add initializeNDArray --- snippets/initializeNDArray.md | 16 ++++++++++++++++ tag_database | 1 + 2 files changed, 17 insertions(+) create mode 100644 snippets/initializeNDArray.md diff --git a/snippets/initializeNDArray.md b/snippets/initializeNDArray.md new file mode 100644 index 000000000..5992adc36 --- /dev/null +++ b/snippets/initializeNDArray.md @@ -0,0 +1,16 @@ +### initializeNDArray + +Create a n-dimensional array with given value. + +Use `Array.map()` to generate rows where each is a new array initialize with `initializeNDArray`. + +```js +const initializeNDArray = (defval, ...args)=> + args.length===0 ? defval : Array.from({ length: args[0] }).map(() => initializeNDArray(defval, ...args.slice(1))); +``` + +```js +initializeNDArray(1,3); // [1,1,1] +initializeNDArray(0,2,3); // [[0,0,0],[0,0,0]] +initializeNDArray(5,2,2,2); // [[[5,5],[5,5]],[[5,5],[5,5]]] +``` diff --git a/tag_database b/tag_database index 7f3102125..ee70cbece 100644 --- a/tag_database +++ b/tag_database @@ -110,6 +110,7 @@ initialize2DArray:array initializeArrayWithRange:array,math initializeArrayWithRangeRight:array,math initializeArrayWithValues:array,math +initializeNDArray:array inRange:math intersection:array,math intersectionBy:array,function From e9d5044f0f0edb4ec1c880e6ca7604c7b99bca2b Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Mon, 16 Apr 2018 17:50:15 +0300 Subject: [PATCH 2/3] Update initializeNDArray.md --- snippets/initializeNDArray.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/snippets/initializeNDArray.md b/snippets/initializeNDArray.md index 5992adc36..1b7fefaab 100644 --- a/snippets/initializeNDArray.md +++ b/snippets/initializeNDArray.md @@ -2,15 +2,15 @@ Create a n-dimensional array with given value. -Use `Array.map()` to generate rows where each is a new array initialize with `initializeNDArray`. +Use recursion. +Use `Array.map()` to generate rows where each is a new array initialized using `initializeNDArray`. ```js -const initializeNDArray = (defval, ...args)=> - args.length===0 ? defval : Array.from({ length: args[0] }).map(() => initializeNDArray(defval, ...args.slice(1))); +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(0,2,3); // [[0,0,0],[0,0,0]] initializeNDArray(5,2,2,2); // [[[5,5],[5,5]],[[5,5],[5,5]]] ``` From 3ee732dace29f8686e25a1c658ba5b1cc606b3b2 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Mon, 16 Apr 2018 17:51:14 +0300 Subject: [PATCH 3/3] Update tag_database --- tag_database | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tag_database b/tag_database index ee70cbece..7a81c77f7 100644 --- a/tag_database +++ b/tag_database @@ -110,7 +110,7 @@ initialize2DArray:array initializeArrayWithRange:array,math initializeArrayWithRangeRight:array,math initializeArrayWithValues:array,math -initializeNDArray:array +initializeNDArray:array,recursion inRange:math intersection:array,math intersectionBy:array,function