Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

JS - tablica 2-wymiarowa problem z zamienianiem cyfr na znaki

#1
Sad  JS - tablica 2-wymiarowa problem z zamienianiem cyfr na znaki
Nie mogę sobie poradzić z poniższym zadaniem, wiem jak w wierszu wykrywać elementy ale nie umiem rozszerzyć tego zachowania na pozostałe wiersze (albo idę w złą stronę). Pomożecie?

Treść zadania:
Chcemy mieć możliwość rysowania dowolnych kształtów. Wykorzystajmy do tego tablicę tablic i jej wartości. Chcemy, żeby wszystkie „0” były zamieniane na spacje, a wszystkie „1”, były zamienianena „*”.Np. dla następującej tablicy tablic:
const field = [[0, 1, 0],[1, 1, 1],[1, 1, 1]];
Chcemy, żeby w konsoli wyświetliło się:
*
***
***

Moje wypociny:

l
Kod:
let tab =: [0,1,0];
for(let i=0; i<tab.length; i++){
   if(tab[i] ===1){
       tab[i] ="*"; }
   else {tab[i]="";}
}

// albo coś w ten deseń tylko nie w .map stworzyć pętli for
const tab2 = tab.map(el=>{(el ===1)?'*' : ''})

coś takiego wymyśliłam:

Kod:
const tab = [[0,1,0],[1,1,1],[1,1,1]]
const changeArray = function(tab){
for (let i = 0; i < tab.length; i++) {
 for (let j = 0; j < tab[i].length; j++) {
   tab[i][j] === 1 ? (tab[i][j] = "*") : (tab[i][j] = "");
 }
}
}
changeArray([[0,1,0],[1,1,1],[1,1,1])


alternatywnie


Kod:
const changeArray = (tab) =>
 tab.map((row) => row.map((element) => (element === 1 ? "*" : "")));
 System operacyjny: windows_ten Przeglądarka: chrome
#2
RE: JS - tablica 2-wymiarowa problem z zamienianiem cyfr na znaki
Masz 2 tablice wiec map powinieneś użyć 2 razy.
1 raz aby z [[1,1,1],[0,0,0]] wyciągnąć wewnętrzną tablice. A drugi aby by przeprocesować tablice wewnętrzną
Kod:
var arrProcess = function(arr) {

  return arr.map((x) => itemProcess(x)).join('');
}

var itemProcess = function(item) {
  switch (item) {
    case 1: {
      return '*';
    }
    case 0: {
      return ' ';
    }
  }
}

const tab = [
  [0, 1, 0],
  [1, 1, 1],
  [1, 1, 1]
];

let test = tab.map((outer) => arrProcess(outer) + '\n').join('');

alert(test);

Co w tym kodzie robi join('') spróbuj rozkminić samodzielnie.
 System operacyjny: windows_ten Przeglądarka: chrome
#3
RE: JS - tablica 2-wymiarowa problem z zamienianiem cyfr na znaki
join(" ") - służy do zamiany na string w nawiasie podaje się separator, gdy nie podamy separatora to domyślnie dla tablic wstawi przecinki ;p

Ostatecznie zadanie w następujący sposób rozwiązałam
Kod:
const field = [
 [0, 1, 0],
 [1, 1, 1],
 [1, 1, 1]
];
const change = function (n) {
 let newField = field.map((row) => row.map((el) => (el === 1 ? "*" : "")));
 let changeTotext = newField.forEach((final) => console.log(final.join("")));
};
change([
 [0, 1, 0],
 [1, 1, 1],
 [1, 1, 1]
]);

// Proszę korzystać ze znaczników
Kod PHP:
[code][/code
// Szachista
 System operacyjny: windows_ten Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki (JS - tablica 2-wymiarowa problem z zamienianiem cyfr na znaki)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Wyszukiwarka w spawnerze nie reaguje na polskie znaki kazik666 0 12694 16.05.2018, 12:04
Ostatni post: kazik666
  [C++] Zwracanie dwóch wartości z funkcji (szukanie w. maksymalnej - tablica) Chudy2000 3 10296 16.06.2016, 08:10
Ostatni post: Szachista
  liczba cyfr w liczbie ser-x7 2 10561 01.03.2016, 01:15
Ostatni post: ser-x7

Skocz do:


Wybrane wątki (JS - tablica 2-wymiarowa problem z zamienianiem cyfr na znaki)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Skrypt usuwający pliki azds1 1 2964 13.10.2020 08:45
Ostatni post: Michu_PL
  Mam mały problem ze zrobieniem tego programu Asasin12PL 2 5718 12.10.2020 17:10
Ostatni post: Asasin12PL
  Skrypt pod sklep internetowy Talcia 6 15881 24.09.2020 22:20
Ostatni post: Ajgor
  Książki do nauki C# olek23 16 37418 28.08.2020 09:51
Ostatni post: Ajgor
  [VBA Excel] Wyszukiwanie wartości w kolumnie Pioro 2 9471 22.06.2020 18:27
Ostatni post: Pioro
  Validacja JS kolo48 3 11101 16.04.2020 14:06
Ostatni post: koneton
  Automatyczne wykonywanie czynności na stronie Fresher 0 9780 15.04.2020 20:53
Ostatni post: Fresher
  Visual Studio Code- zmiana folderu rozszerzeń Physicist 4 12169 05.04.2020 15:46
Ostatni post: Physicist
  Prośba o pomoc przy wyborze języka do konkretnego projektu. romands 6 11629 05.04.2020 14:07
Ostatni post: romands
Sad PhpMyAdmin w Mysql 8.0 Lauczi 3 11128 31.03.2020 16:34
Ostatni post: Lauczi
Ściana Klika pytań plz pomóżcie Samek2222 1 10525 22.03.2020 18:59
Ostatni post: Ajgor
  Pytanie - programowanie batch [cmd] Max23 0 10269 20.03.2020 01:03
Ostatni post: Max23
  Oczekiwanie na Akcje przycisku wanhelsing 8 12456 01.03.2020 19:44
Ostatni post: Szachista
Toungue Wybór szkoły średniej przez potencjalnego programistę Zikinan 1 11613 09.02.2020 15:58
Ostatni post: dzikuu86
  Poszukuję pomysłu na prosty program ;) janciu96 5 20790 13.12.2019 23:32
Ostatni post: Ajgor