/*
	Arrays.js - A library of useful array functions for JavaScript
	2022 by mercury0x0d, Creative Commons Attribution 4.0 International License

	Revision history:
	2022-01-18 - Initial release
*/





function arrayColumn(inputArray, column, columnKey)
{
	/*
		A JavaScript implementation of PHP's array_column()
		Slightly modified from Rambkk's code at https://github.com/rambkk/Javascript-array_column/blob/main/array_column.js

		Input:
			inputArray		The array on which to operate
			column			Column number of inputArray to be returned
			columnKey		Column number of inputArray to be used as an index or key for the output array (Optional)
	*/


	return inputArray.length ? typeof columnKey === 'undefined' ? [inputArray[0][column], ...arrayColumn(inputArray.slice(1), column, columnKey)]
		: { [inputArray[0][columnKey]] : column === null ? inputArray[0]:inputArray[0][column], ...arrayColumn(inputArray.slice(1), column, columnKey) }
		:[]							
}





function arrayUnique(inputArray)
{
	// A JavaScript implementation of PHP's array_unique()
	// Based on code from TLindig at https://stackoverflow.com/questions/1960473/get-all-unique-values-in-a-javascript-array-remove-duplicates


	return inputArray.filter
	(
		function (value, index, theArray)
		{
			return theArray.indexOf(value) === index;
		}

	);
}
