7 методов получения всех ключей с карты и сохранения их в массиве

Работа с картами (или словарями) — распространенная задача в программировании, и иногда вам может потребоваться извлечь все ключи из карты и сохранить их в массиве для дальнейшей обработки. В этом сообщении блога мы рассмотрим несколько методов на разных языках программирования для достижения этой цели. Мы предоставим примеры кода на JavaScript, Python, Java, Ruby, Golang и PHP. Давайте начнем!

Метод 1: использование Object.keys() в JavaScript

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
map.set('key3', 'value3');
const keysArray = Array.from(map.keys());
console.log(keysArray);

Метод 2: использование Object.keys() в Python

map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
keysArray = list(map.keys())
print(keysArray)

Метод 3: использование Map.keySet() в Java

Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
Set<String> keysSet = map.keySet();
String[] keysArray = keysSet.toArray(new String[0]);
System.out.println(Arrays.toString(keysArray));

Метод 4. Использование ключей Hash# в Ruby

map = { 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' }
keysArray = map.keys
puts keysArray

Метод 5: использование пакета отражения в Golang

package main
import (
    "fmt"
    "reflect"
)
func main() {
    m := map[string]string{"key1": "value1", "key2": "value2", "key3": "value3"}
    keys := reflect.ValueOf(m).MapKeys()
    keysArray := make([]string, len(keys))
    for i := 0; i < len(keys); i++ {
        keysArray[i] = keys[i].String()
    }
    fmt.Println(keysArray)
}

Метод 6: использование array_keys() в PHP

$map = ['key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3'];
$keysArray = array_keys($map);
print_r($keysArray);

Метод 7: использование цикла for…of в JavaScript (ES6+)

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
map.set('key3', 'value3');
const keysArray = [];
for (const key of map.keys()) {
  keysArray.push(key);
}
console.log(keysArray);

В этой статье мы рассмотрели семь различных методов извлечения всех ключей из карты и сохранения их в массиве с использованием JavaScript, Python, Java, Ruby, Golang и PHP. В зависимости от используемого вами языка программирования вы можете выбрать наиболее подходящий метод, соответствующий вашим потребностям. Не забудьте учитывать производительность и совместимость метода с требованиями вашего проекта. Приятного кодирования!