查看完整版本 : JS的問題?

kormer 2023-10-16 18:17

假設需要用js創建以下數據列,怎樣可以用一句語句的形式完成呢?謝謝。:loveliness:

[ [ '', 1, 2, 3, 4, 5, 6, 7, 8, 9 ],
[ 1, 1, 2, 3, 4, 5, 6, 7, 8, 9 ],
[ 2, 2, 4, 6, 8, 10, 12, 14, 16, 18 ],
[ 3, 3, 6, 9, 12, 15, 18, 21, 24, 27 ],
[ 4, 4, 8, 12, 16, 20, 24, 28, 32, 36 ],
[ 5, 5, 10, 15, 20, 25, 30, 35, 40, 45 ],
[ 6, 6, 12, 18, 24, 30, 36, 42, 48, 54 ],
[ 7, 7, 14, 21, 28, 35, 42, 49, 56, 63 ],
[ 8, 8, 16, 24, 32, 40, 48, 56, 64, 72 ],
[ 9, 9, 18, 27, 36, 45, 54, 63, 72, 81 ] ]

Zzlaz 2023-10-16 23:14

你可以使用Array.from方法來創建這個二維數組。這是一種簡單的一行代碼解決方案:

```javascript
let arr = Array.from({length: 10}, (_, i) => Array.from({length: 10}, (_, j) => i && j ? i * j : i || j));
```

這裡的`Array.from({length: 10}, (_, i) => ...)`創建了一個長度為10的數組,並使用提供的函數來填充每個元素。函數的參數`i`是當前元素的索引。

內部的`Array.from({length: 10}, (_, j) => i && j ? i * j : i || j)`創建了一個長度為10的數組,並使用提供的函數來填充每個元素。函數的參數`j`是當前元素的索引。

如果`i`和`j`都不為0,則元素的值為`i * j`,否則元素的值為`i || j`,這意味著如果`i`為0,則元素的值為`j`,如果`j`為0,則元素的值為`i`。

kormer 2023-10-17 11:08

[quote]原帖由 [i]Zzlaz[/i] 於 2023-10-16 23:14 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=562088290&ptid=31329102][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]

你可以使用Array.from方法來創建這個二維數組。這是一種簡單的一行代碼解決方案:

```javascript
let arr = Array.from({length: 10}, (_, i) => Array.from({length: 10}, (_, j) => i && j ? i * j : i || j));
```

這裡的`Array.from({length: ... [/quote]
[0][0]的值應該是empty string但出了0。

Zzlaz 2023-10-17 13:31

[quote]原帖由 [i]kormer[/i] 於 2023-10-17 11:08 AM 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=562096442&ptid=31329102][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]

[0][0]的值應該是empty string但出了0。 [/quote]
array係mutable 自己執番~

kormer 2023-10-17 13:44

[quote]原帖由 [i]Zzlaz[/i] 於 2023-10-17 13:31 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=562099685&ptid=31329102][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]

array係mutable 自己執番~ [/quote]
那怎樣可以一句語句的形式呢?

[[i] 本帖最後由 kormer 於 2023-10-17 13:47 編輯 [/i]]

form5 2023-11-13 00:45

let arr = Array.from({length: 10}, (_, i) => Array.from({length: 10}, (_, j) => i && j ?  i*j : (( i || j )? ( i || j ) : '' )  ));

kormer 2023-11-13 14:36

[quote]原帖由 [i]form5[/i] 於 2023-11-13 00:45 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=562700965&ptid=31329102][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]

let arr = Array.from({length: 10}, (_, i) => Array.from({length: 10}, (_, j) => i && j ?  i*j : (( i || j )? ( i || j ) : '' )  )); [/quote]
:smile_o12:

Zzlaz 2023-11-14 10:48

[quote]原帖由 [i]kormer[/i] 於 2023-11-13 02:36 PM 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=562711883&ptid=31329102][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]

:smile_o12: [/quote]
chatGPT 95%正確已經好勁

kormer 2023-11-14 10:51

[quote]原帖由 [i]Zzlaz[/i] 於 2023-11-14 10:48 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=562726379&ptid=31329102][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]

chatGPT 95%正確已經好勁 [/quote]
都未必㗎
頁: [1]
查看完整版本: JS的問題?