Взять содержимое массива и вернуть одно значение JavaScript

FavoriteLoadingДобавить в избранное

Взять содержимое массива и вернуть одно значение. Это значение может быть чем угодно: строкой, числом, объектом или даже другим массивом.
Метод Array.reduce() принимает два аргумента: метод обратного вызова для запуска для каждого элемента массива и начальное значение.
Обратный вызов также принимает два аргумента: accumulator, который является текущим объединённым значением, и current элемент в цикле. Всё, что вы возвращаете, используется как аккумулятор для следующего элемента в цикле. В самом первом цикле вместо этого используется это начальное значение.

/**
 * Add all of the numbers in an array
 */

var total = [1, 2, 3].reduce(function (sum, current) {
	return sum + current;
}, 0);

// logs 6
console.log(total);


/**
 * Create a new array with only the names of wizards in Huffepuff
 */

var wizards = [
	{
		name: 'Harry Potter',
		house: 'Gryfindor'
	},
	{
		name: 'Cedric Diggory',
		house: 'Hufflepuff'
	},
	{
		name: 'Tonks',
		house: 'Hufflepuff'
	},
	{
		name: 'Ronald Weasley',
		house: 'Gryfindor'
	},
	{
		name: 'Hermione Granger',
		house: 'Gryfindor'
	}
];

// This combines what you would otherwise do with map() and filter() into one step
var hufflepuff = wizards.reduce(function (newArr, wizard) {
	if (wizard.house === 'Hufflepuff') {
		newArr.push(wizard.name);
	}
	return newArr;
}, []);

// logs ["Cedric Diggory", "Tonks"]
console.log(hufflepuff);
Написать Администратору

Вы можете написать Администратору сайта.

отправить