locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
19 lines (18 loc) • 784 B
JavaScript
import { getEntryAtCursor, getPointerState } from "../_helpers/_arrayPointers.js";
export function key(arr) {
// discuss at: https://locutus.io/php/key/
// parity verified: PHP 8.3
// original by: Brett Zamir (https://brett-zamir.me)
// input by: Riddler (https://www.frontierwebdev.com/)
// bugfixed by: Brett Zamir (https://brett-zamir.me)
// note 1: Uses global: locutus to store the array pointer
// example 1: var $array = {fruit1: 'apple', 'fruit2': 'orange'}
// example 1: key($array)
// returns 1: 'fruit1'
const state = getPointerState(arr, true);
if (!state) {
return false;
}
const entry = getEntryAtCursor(arr, state.cursor);
return entry ? entry[0] : false;
}