Flatten array

by AntowaKartowa

JavaScript

var initArr = [1, 2, 3, 4];
var resultArr;

function multiplyAndFlatten1() {
	var result = initArr.reduce(process, []);
	
	console.log(result);
	
	function process(flat, item) {
		return (item % 2 && flat.concat(item)) || flat.concat([item, item * 2]);
	}
}

function multiplyAndFlatten2() {
	var result = initArr.map(multiply);
	var result = [].concat.apply([], result);
	
	console.log(result);
	
	function multiply(item) {
		return (item % 2 && item) || [item, item * 2]
	}
}

multiplyAndFlatten1();
multiplyAndFlatten2();