Сообщение от Aetae
|
...ключи, ...значения, ...хочется чтобы любая задача решалась красиво и аккуратно... нет няшного литерала... писать на своём особом js с блэкджеком...
|
В итоге у вас получится код, который никто не поймёт. И вы уже не сможете сказать, что пишете на JavaScript.
С этим примером всё в порядке, я бы не сказал, что ассоциативный массив в JavaScript оторван от реальности. Во всяком случае в сравнении с другими языками вам не нужно писать ни на порядок меньше, ни на порядок больше кода.
JavaScript
const pets = new Map([
["Scratchy", "Guinea Pig"],
["Squeeky", "Guinea Pig"],
["Fluffy", "Rabbit"],
["Thumper", "Rabbit"],
["Snoopy", "Dog"],
["Tiddles", "Cat"]
]);
for(const [key, value] of pets) {
console.log(`Свойство: ${key}. Значение свойства: ${value}`);
}
C#
Запустить
using System;
using System.Collections.Generic;
class MainClass {
public static void Main (string[] args) {
var pets = new Dictionary<String, String> {
{ "Scratchy", "Guinea Pig" },
{ "Squeeky", "Guinea Pig" },
{ "Fluffy", "Rabbit" },
{ "Thumper", "Rabbit" },
{ "Snoopy", "Dog" },
{ "Tiddles", "Cat" }
};
foreach(var pair in pets) {
Console.WriteLine($"Свойство: {pair.Key}. Значение свойства: {pair.Value}");
}
}
}
Haskell
Запустить
pets :: [(String, String)]
pets =
[
("Scratchy", "Guinea Pig"),
("Squeeky", "Guinea Pig"),
("Fluffy", "Rabbit"),
("Thumper", "Rabbit"),
("Snoopy", "Dog"),
("Tiddles", "Cat")
]
main :: IO()
main = mapM_ (
\(key, value) -> putStrLn $
"Свойство: " ++ key ++ ". Значение свойства: " ++ value
) pets
C++
Запустить
#include <map>
#include <iostream>
#include <cassert>
using namespace std;
int main(int argc, char **argv) {
map<string, string> pets = {
{ "Scratchy", "Guinea Pig" },
{ "Squeeky", "Guinea Pig" },
{ "Fluffy", "Rabbit" },
{ "Thumper", "Rabbit" },
{ "Snoopy", "Dog" },
{ "Tiddles", "Cat" }
};
for(auto const& [key, value] : pets) {
cout
<< "Свойство: "
<< key
<< ". Значение свойства: "
<< value
<< endl;
}
return 0;
}
Swift
Запустить
let pets = [
"Scratchy": "Guinea Pig",
"Squeeky": "Guinea Pig",
"Fluffy": "Rabbit",
"Thumper": "Rabbit",
"Snoopy": "Dog",
"Tiddles": "Cat"
]
for (key, value) in pets {
print("Свойство: \(key). Значение свойства: \(value)")
}