// array
function copy_array( a ) {
// USE: var b = copy_array( a );
// ALGO: low
// DATE: 2025-09-26 21:00
// DESC: see name
// LANG: JS
// TAGS: array, copy
// TEST: ok
var b = a;
return b;
} // function
function reverse_array( a ) {
// USE: var b = reverse_array( a );
// ALGO: low
// DATE: 2025-09-26 21:05
// DESC: see name
// LANG: JS
// TAGS: array, reverse
// TEST: ok
var l = a.length;
var i;
var b = [];
for ( i=0; i<l; i++ ) b[i] = a[l-1-i];
return b;
} // function
function sort_array( a ) {
// USE: var b = sort_array( a );
// ALGO: low
// DATE: 2025-09-26 21:05
// DESC: see name
// LANG: JS
// TAGS: array, sort
// TEST: ok
var b = a.sort();
return b;
} // function
// elements
// check
// single value
function check_element_of_array_by_value( a, v ) {
// USE: var sw = check_element_of_array_by_value( a, v );
// ALGO: low
// DATE: 2025-09-26 21:20
// DESC: see name
// LANG: JS
// TAGS: array, element, check
// TEST: ok
var sw = check_element_of_part_of_array_by_value( a, v, 0, a.length-1 );
return sw;
} // function
function check_element_of_part_of_array_by_value( a, v, i, j ) {
// var sw = check_element_of_part_of_array_by_value( a, v, i, j );
// ALGO: low
// DATE: 2025-09-26 21:25
// DESC: see name
// LANG: JS
// TAGS: array, element, check
// TEST: ok
var k;
var sw = false;
for ( k=i; k<=j; k++ ) {
if ( a[k] == v ) { // match
sw = true;
break;
} // if
} // for
return sw;
} // function
// multiple values
function check_multiple_elements_of_array_by_value_via_and( a, b ) {
// var sw = check_multiple_elements_of_array_by_value_via_and( a, b );
var sw = check_multiple_elements_of_part_of_array_by_value_via_and( a, b, 0, a.length-1 );
return sw;
} // function
function check_multiple_elements_of_array_by_value_via_or( a, b ) {
// var sw = check_multiple_elements_of_array_by_value_via_or( a, b );
var sw = check_multiple_elements_of_part_of_array_by_value_via_or( a, b, 0, a.length-1 );
return sw;
} // function
function check_multiple_elements_of_part_of_array_by_value_via_and( a, b, i, j ) {
// var sw = check_multiple_elements_of_part_of_array_by_value_via_and( a, b, i, j );
msw = true;
for ( i=0; i<b.length; i++ ) {
v = b[i];
sw = check_element_of_part_of_array_by_value( a, v, i, j );
if ( sw == false ) {
msw = false;
break;
} // if
} // for
return msw;
} // function
function check_multiple_elements_of_part_of_array_by_value_via_or( a, b, i, j ) {
msw = false;
for ( i=0; i<b.length; i++ ) {
v = b[i];
sw = check_element_of_part_of_array_by_value( a, v, i, j );
if ( sw == true ) {
msw = true;
break;
} // if
} // for
return msw;
} // function
// count
function count_elements_of_array_by_id( a ) {
// USE: var c = count_elements_of_array_by_id( a );
// ALGO: low
// DATE: 2025-09-26 21:30
// DESC: see name
// LANG: JS
// TAGS: array, element, count
// TEST: ok
var c = a.length;
return c;
} // function
function count_elements_of_array_by_value( a, v ) {
// USE: var c = count_elements_of_array_by_value( a, v );
// ALGO: low
// DATE: 2025-09-26 21:35
// DESC: see name
// LANG: JS
// TAGS: array, element, count
var i;
var c = 0;
for ( i=0; i<a.length; i++ ) {
if ( a[i] == v ) c++;
} // for
return c;
} // function
function count_values_of_array( a ) {
// USE: var r = count_values_of_array( a );
// ALGO: medium
// DATE: 2025-09-26 21:40
// DESC: see name
// LANG: JS
// TAGS: array, element, count
var b = get_unique_elements_of_array( a );
var e, c;
var r = [];
var s = 0;
for ( i=0; i<b.length; i++ ) {
e = b[i];
c = count_elements_of_array_by_value( a, e );
r[s++] = e;
r[s++] = c;
} // for
return r;
} // function
function count_values_of_sorted_array( a ) {
// USE: var r = count_values_of_sorted_array( a );
// ALGO: medium
// DATE: 2025-09-26 21:45
// DESC: see name
// LANG: JS
// TAGS: array, element, count, sort
var b = get_unique_elements_of_sorted_array( a );
var e, c;
var r = [];
var s = 0;
for ( i=0; i<b.length; i++ ) {
e = b[i];
c = count_elements_of_array_by_value( a, e );
r[s++] = e;
r[s++] = c;
} // for
return r;
} // function
function sort_and_count_values_of_array( a ) {
// USE: var b = sort_and_count_values_of_array( a );
// ALGO: low
// DATE: 2025-09-26 21:50
// DESC: see name
// LANG: JS
// TAGS: array, element, count, sort
a = a.sort();
var b = count_values_of_sorted_array( a );
return b;
} // function
// unique elements
function get_unique_elements_of_array( a ) {
// USE: var b = get_unique_elements_of_array( a );
// ALGO: medium
// DATE: 2025-09-26 22:15
// DESC: see name
// LANG: JS
// TAGS: array, element, unique
var i, e, sw;
var b = [];
var c = 0;
for ( i=0; i<a.length; i++ ) { // loop through whole array
e = a[i];
if ( i < 1 ) {
b[c++] = e;
} else {
sw = check_element_of_part_of_array_by_value( a, e, 0, i-1 ); // check array part above element
if ( sw == false ) b[c++] = e;
} // if/else
} // for
return b;
} // function
function get_unique_elements_of_sorted_array( a ) {
// USE: var b = get_unique_elements_of_sorted_array( a );
// ALGO: low
// DATE: 2025-09-26 22:20
// DESC: see name
// LANG: JS
// TAGS: array, element, unique, sort
var b = delete_repetitive_elements( a );
return b;
} // function
function sort_and_get_unique_elements_of_array( a ) {
// USE: var b = sort_and_get_unique_elements_of_array( a );
// ALGO: low
// DATE: 2025-09-26 22:25
// DESC: see name
// LANG: JS
// TAGS: array, element, unique, sort
a = a.sort();
var b = get_unique_elements_of_sorted_array( a );
return b;
} // function
// add
function add_element_to_array_anywhere() {}
function add_array_to_array() {}
function add_array_to_array_anywhere() {}
// delete
function delete_any_element_of_array( a, i ) {
// USE: a = delete_any_element_of_array( a, i );
// ALGO: low
// DATE: 2025-09-26 21:55
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var j;
var b = [];
var c = 0;
for ( j=0; j<a.length; j++ ) {
if ( j != i ) b[c++] = a[j];
} // for
return b;
} // function
function delete_elements_of_array_by_value( a, v ) {
// USE: a = delete_elements_of_array_by_value( a, v );
// ALGO: low
// DATE: 2025-09-26 22:00
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var i;
var b = [];
var c = 0;
for ( i=0; i<a.length; i++ ) {
e = a[i];
if ( e != v ) b[c++] = e;
} // for
return b;
} // function
function delete_empty_elements_of_array( a ) {
// USE: a = delete_empty_elements_of_array( a );
// ALGO: low
// DATE: 2025-09-26 22:05
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var b = delete_elements_of_array_by_value( a, "" );
return b;
} // function
function delete_repetitive_elements( a ) {
// USE: a = delete_repetitive_elements( a );
// ALGO: low
// DATE: 2025-09-26 22:10
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var i, e;
var b = [];
var c = 0;
for ( i=0; i<a.length; i++ ) {
e = a[i];
if ( i < 1 ) {
b[c++] = e;
} else {
if ( e != a[i-1] ) b[c++] = e;
} // if/else
} // for
return b;
} // function
function delete_part_of_array() {}
// rectangular array
// id, x, y
// id
function get_rect_ar_id( x, y, yl ) {
// var id = get_rect_ar_id( x, y, yl );
var id = x * yl + y;
return id;
} // function
// x, y
function get_rect_ar_x( id, yl ) {
// var x = get_rect_ar_x( id, yl );
var y = get_rect_ar_y( id, yl );
var x = ( id - y ) / yl;
return x;
} // function
function get_rect_ar_y( id, yl ) {
// var y = get_rect_ar_y( id, yl );
var y = id % yl;
return y;
} // function
// xl
function get_rect_ar_xl( c, yl ) {
// var xl = get_rect_ar_xl( c, yl );
var rem = c % yl; // remainder
var xl;
if ( rem == 0 ) xl = c / yl;
else xl = ( ( c - rem) / yl ) + 1;
return xl;
} // function
// set, get
function set_rect_ar_el( a, e, x, y, yl ) {
// a = set_rect_ar_el( a, e, x, y, yl );
var id = get_rect_ar_id( x, y, yl );
a[id] = e;
return a;
} // function
function get_rect_ar_el( a, x, y, yl ) {
// var el = get_rect_ar_el( a, x, y, yl );
var id = get_rect_ar_id( x, y, yl );
var e = a[id];
return e;
} // function
// loop
function readme_loop_through_rect_ar() {
var x, y;
var xl = get_rect_ar_xl( c, yl );
var id;
for ( x=0; x<xl; x++ ) {
for ( y=0; y<yl; y++ ) {
id = get_rect_ar_id( x, y, yl );
a[id] = true;
} // for
} // for
} // function
Archiv der Kategorie: Allgemein
JS array functions
// whole
function copy_array( a ) {
// USE: var b = copy_array( a );
// ALGO: low
// DATE: 2025-09-26 21:00
// DESC: see name
// LANG: JS
// TAGS: array, copy
var i;
var b = [];
for ( i=0; i<a.length; i++ ) b[i] = a[i];
return b;
} // function
function reverse_array( a ) {
// USE: var b = reverse_array( a );
// ALGO: low
// DATE: 2025-09-26 21:05
// DESC: see name
// LANG: JS
// TAGS: array, reverse
var l = a.length;
var i;
var b = [];
for ( i=0; i<l; i++ ) b[i] = a[l-1-i];
return b;
} // function
function replace_array( a, b ) {
// ALGO: low
// DATE: 2025-09-26 21:10
// DESC: see name
// LANG: JS
// TAGS: array
/*
a = [];
a = copy_array( b );
*/
// TAGS: array, replace
} // function
function sort_array( a ) {
// USE: var b = sort_array( a );
// ALGO: low
// DATE: 2025-09-26 21:05
// DESC: see name
// LANG: JS
// TAGS: array, sort
var b = a.sort();
return b;
}
// elements
// check
function check_element_of_array( a, v ) {
// USE: var sw = check_element_of_array( a, v );
// ALGO: low
// DATE: 2025-09-26 21:20
// DESC: see name
// LANG: JS
// TAGS: array, element, check
var sw = check_element_of_part_of_array( a, v, 0, a.length-1 );
return sw;
} // function
function check_element_of_part_of_array( a, v, i, j ) {
// var sw = check_element_of_part_of_array( a, v, i, j );
// ALGO: low
// DATE: 2025-09-26 21:25
// DESC: see name
// LANG: JS
// TAGS: array, element, check
var k;
var sw = false;
for ( k=i; k<=j; k++ ) {
if ( a[k] == v ) { // match
sw = true;
break;
} // if
} // for
return sw;
} // function
// count
function count_elements_of_array( a ) {
// USE: var c = count_elements_of_array( a );
// ALGO: low
// DATE: 2025-09-26 21:30
// DESC: see name
// LANG: JS
// TAGS: array, element, count
var c = a.length;
return c;
} // function
function count_element_of_array_by_value( a, v ) {
// USE: var c = count_element_of_array_by_value( a, v );
// ALGO: low
// DATE: 2025-09-26 21:35
// DESC: see name
// LANG: JS
// TAGS: array, element, count
var i;
var c = 0;
for ( i=0; i<a.length; i++ ) {
if ( a[i] == v ) c++;
} // for
return c;
} // function
function count_values_of_array( a ) {
// USE: var r = count_values_of_array( a );
// ALGO: medium
// DATE: 2025-09-26 21:40
// DESC: see name
// LANG: JS
// TAGS: array, element, count
var b = get_unique_elements_of_array( a );
var e, c;
var r = [];
var s = 0;
for ( i=0; i<b.length; i++ ) {
e = b[i];
c = count_element_of_array_by_value( a, e );
r[s++] = e;
r[s++] = c;
} // for
return r;
} // function
function count_values_of_sorted_array( a ) {
// USE: var r = count_values_of_sorted_array( a );
// ALGO: medium
// DATE: 2025-09-26 21:45
// DESC: see name
// LANG: JS
// TAGS: array, element, count, sort
var b = get_unique_elements_of_sorted_array( a );
var e, c;
var r = [];
var s = 0;
for ( i=0; i<b.length; i++ ) {
e = b[i];
c = count_element_of_array_by_value( a, e );
r[s++] = e;
r[s++] = c;
} // for
return r;
} // function
function sort_and_count_values_of_array( a ) {
// USE: var b = sort_and_count_values_of_array( a );
// ALGO: low
// DATE: 2025-09-26 21:50
// DESC: see name
// LANG: JS
// TAGS: array, element, count, sort
var b = a.sort();
a = [];
a = copy_array( b );
b = [];
b = count_values_of_sorted_array( a );
return b;
} // function
// delete
function delete_element_of_array( a, i ) {
// USE: var b = delete_element_of_array( a, i );
// ALGO: low
// DATE: 2025-09-26 21:55
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var j;
var b = [];
var c = 0;
for ( j=0; j<a.length; j++ ) {
if ( j != i ) b[c++] = a[j];
} // for
return b;
} // function
function delete_elements_of_array_by_value( a, v ) {
// USE: var b = delete_elements_of_array_by_value( a, v );
// ALGO: low
// DATE: 2025-09-26 22:00
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var i;
var b = [];
var c = 0;
for ( i=0; i<a.length; i++ ) {
e = a[i];
if ( e != v ) b[c++] = e;
} // for
return b;
} // function
function delete_empty_elements_of_array( a ) {
// USE: var b = delete_empty_elements_of_array( a );
// ALGO: low
// DATE: 2025-09-26 22:05
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var b = delete_elements_of_array_by_value( a, "" );
return b;
}
function delete_repetitive_elements( a ) {
// USE: var b = delete_repetitive_elements( a );
// ALGO: low
// DATE: 2025-09-26 22:10
// DESC: see name
// LANG: JS
// TAGS: array, element, delete
var i, e;
var b = [];
var c = 0;
for ( i=0; i<a.length; i++ ) {
e = a[i];
if ( i < 1 ) {
b[c++] = e;
} else {
if ( e != a[i-1] ) b[c++] = e;
} // if/else
} // for
return b;
} // function
// unique elements
function get_unique_elements_of_array( a ) {
// USE: var b = get_unique_elements_of_array( a );
// ALGO: medium
// DATE: 2025-09-26 22:15
// DESC: see name
// LANG: JS
// TAGS: array, element, unique
var i, e, sw;
var b = [];
var c = 0;
for ( i=0; i<a.length; i++ ) { // loop through whole array
e = a[i];
if ( i < 1 ) {
b[c++] = e;
} else {
sw = check_element_of_part_of_array( a, e, 0, i-1 ); // check array part above element
if ( sw == false ) b[c++] = e;
} // if/else
} // for
return b;
} // function
function get_unique_elements_of_sorted_array( a ) {
// USE: var b = get_unique_elements_of_sorted_array( a );
// ALGO: low
// DATE: 2025-09-26 22:20
// DESC: see name
// LANG: JS
// TAGS: array, element, unique, sort
var b = delete_repetitive_elements( a );
return b;
} // function
function sort_and_get_unique_elements_of_array( a ) {
// USE: var b = sort_and_get_unique_elements_of_array( a );
// ALGO: low
// DATE: 2025-09-26 22:25
// DESC: see name
// LANG: JS
// TAGS: array, element, unique, sort
var b = a.sort();
a = [];
a = copy_array( b );
b = [];
b = get_unique_elements_of_sorted_array( a );
return b;
} // function
PHP: url, path, files
// url and path
function get_url_of_current_dir() {
// $url = get_url_of_current_dir();
/* META TAGS:
ALGO: medium
DATE: 2025-07-11 20:00
DESC: get URL of current dir
LANG: PHP
PROC: no
TAGS: url, directory, current
*/
if( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ) $url = "https://";
else $url = "http://";
if( dirname( $_SERVER['PHP_SELF'] ) == "/" || dirname( $_SERVER['PHP_SELF'] ) == "\\" ) return $url . $_SERVER['HTTP_HOST'];
else return $url . $_SERVER['HTTP_HOST'] . dirname( $_SERVER['PHP_SELF'] );
} // function
function get_path_of_current_dir() {
// $path = get_path_of_current_dir();
/* META TAGS:
ALGO: medium
DATE: 2025-07-11 20:05
DESC: get path of current dir
LANG: PHP
PROC: no
TAGS: path, directory, current
*/
return dirname( __FILE__ );
} // function
// file system
function get_files_of_dir( $dir, $recursion ) {
// $files = get_files_of_dir( $dir, $recursion );
/* META TAGS:
ALGO: medium
DATE: 2025-07-11 20:10
DESC: get files of directory (with or without recursion)
LANG: PHP
PROC: no
TAGS: file, directory
*/
$files = (
new class {
function get_files( $path, $ext='*', $recursion ) {
$dh = opendir( $path );
$files = [];
while ( $file = readdir( $dh ) ) {
if ( $file == '.' || $file == '..' ) continue;
$f_path = str_replace( '//', '/', $path . '/' . $file );
if ( is_dir( $f_path ) ) {
if ( $recursion === true ) {
$sub_files = $this->get_files( $f_path, $ext, $recursion );
$files = array_merge( $files, $sub_files );
} else {
$files[] = $f_path;
} // if/else
} else if ( $ext == '*' || ( $f_ext = pathinfo( $f_path, PATHINFO_EXTENSION ) ) == $ext ) {
$files[] = $f_path;
} // if/else
} // while
return $files;
} // function
} // class
)->get_files( $dir, "*", $recursion );
sort( $files );
return $files;
} // function
function get_files_of_current_dir( $recursion ) {
// $files = get_files_of_current_dir( $recursion );
/* META TAGS:
ALGO: medium
DATE: 2025-07-11 20:15
DESC: get files of current dir (with or without recursion)
LANG: PHP
PROC: no
TAGS: file, directory, current
*/
$dir = get_path_of_current_dir();
$files = get_files_of_dir( $dir, $recursion );
return $files;
} // function