Taschenspieler-Tricks

für Programmierer

Teil 1

Funktionale Array-Verarbeitung

Arrays

var names = ['Peter', 'Jan', 'Markus'];

Processing Arrays

var names = ['Peter', 'Jan', 'Markus'];
var upperNames = [];

for (var i = 0; i < names.length; i++) {
	upperNames.push( names[i].toUpperCase() );
}

console.log(upperNames);

Processing Arrays

var names = ['Peter', 'Jan', 'Markus'];
var upperNames = [];

for (var i = 0; i < names.length; i++) {
	upperNames.push( names[i].toUpperCase() );
}

console.log(upperNames);
var names = ['Peter', 'Jan', 'Markus'];
var upperNames = names.map(function(name) {
	return name.toUpperCase();
});

console.log(upperNames);

Processing Arrays

var names = ['Peter', 'Jan', 'Markus'];
var upperNames = [];

for (var i = 0; i < names.length; i++) {
	if(names[i].length <= 3)
		continue;

	upperNames.push( names[i].toUpperCase() );
}

console.log(upperNames);

Processing Arrays

var names = ['Peter', 'Jan', 'Markus'];
var upperNames = [];

for (var i = 0; i < names.length; i++) {
	if(names[i].length <= 3)
		continue;

	upperNames.push( names[i].toUpperCase() );
}

console.log(upperNames);
var names = ['Peter', 'Jan', 'Markus'];
var upperNames = names.filter(function(name) {
	return name.length > 3;
}).map(function(name) {
	return name.toUpperCase();
});

console.log(upperNames);


Processing Arrays

var names = ['Peter', 'jan', 'Markus'];
var allUppercase = (names.length > 0);

for (var i = 0; i < names.length; i++) {
	if(names[i][0] != names[i][0].toUpperCase())
		allUppercase = false;
}

console.log(allUppercase);

Processing Arrays

var names = ['Peter', 'jan', 'Markus'];
var allUppercase = (names.length > 0);

for (var i = 0; i < names.length; i++) {
	if(names[i][0] != names[i][0].toUpperCase())
		allUppercase = false;
}

console.log(allUppercase);
var names = ['Peter', 'jan', 'Markus'];
var allUppercase = names.every(function(name) {
	return name[0] == name[0].toUpperCase();
});

console.log(allUppercase);

Processing Arrays

var names = ['Peter', 'jan', 'Markus'];
var someUppercase = false;

for (var i = 0; i < names.length; i++) {
	if(names[i][0] == names[i][0].toUpperCase())
		someUppercase = true;
}

console.log(allUppercase);

Processing Arrays

var names = ['Peter', 'jan', 'Markus'];
var someUppercase = false;

for (var i = 0; i < names.length; i++) {
	if(names[i][0] == names[i][0].toUpperCase())
		someUppercase = true;
}

console.log(allUppercase);
var names = ['Peter', 'jan', 'Markus'];
var someUppercase = names.some(function(name) {
	return name[0] == name[0].toUpperCase();
});

console.log(someUppercase);

Javascript

Für alle !IE8

Polyfill für IE8:

https://libs.personalwerk.de/polyfills/polyfills.array.js

Processing jQuery Results

var $ul = ('ul.lala');

var $topLi = $ul.find('li').filter(function() {
	return $(this).offset().top >= scrollTop + header
}).first();

console.log($topLi);

Processing Arrays in PHP

$names = ['Peter', 'Jan', 'Markus'];

$upperNames = array_map(function($name) {
	return strtoupper($name);
}, $names);

print_r($upperNames);

Processing Arrays in PHP

$names = ['Peter', 'Jan', 'Markus'];

$filteredNames = array_filter($names, function($name) {
	return strlen($name) <= 3;
});

$upperNames = array_map(function($name) {
	return strtoupper($name);
}, $filteredNames);

print_r($upperNames);

Processing Arrays in PHP

$names = ['Peter', 'Jan', 'Markus'];

$filteredNames = array_filter($names, function($name) {
	return strlen($name) <= 3;
});

$upperNames = array_map(function($name) {
	return strtoupper($name);
}, $filteredNames);

print_r($upperNames);

Parameter-Reihenfolge bei Map und Filter ist unterschiedlich. Meeeh…

Taschenspieler-Tricks für Programmierer #1

By mazdermind

Taschenspieler-Tricks für Programmierer #1

  • 381