Languages
[Edit]
PL

JavaScript - usuwanie zduplikowanych linii

0 points
Created by:
Dirask Community
5460

W tym┬áartykule chcieliby┼Ťmy pokaza─ç, jak w JavaScript usun─ů─ç zduplikowane linie z┬átekstu.

Szybkie rozwi─ůzanie:

// ONLINE-RUNNER:browser;

const newLineExpression = /\r\n|\n\r|\n|\r/g;

const removeDuplicatedLines = (text) => {
  	let result = '';
	const blocker = {}; // zapobiega duplikowaniu linii
  	const lines = text.split(newLineExpression);
  	for (const line of lines) {
    	if (blocker.hasOwnProperty(line)) {
        	continue;
        }
      	blocker[line] = true;
      	result += line + '\n';
    }
  	return result;
};

// Przykład użycia:

const text = `a
b
b
a
a
c
c`;

console.log(removeDuplicatedLines(text)); // a
                                          // b
                                          // c

Przykład oparty o funkcję filter()

To podej┼Ťcie wykorzystuje funkcyjny┬áwzorzec programowania.

// ONLINE-RUNNER:browser;

const newLineExpression = /\r\n|\n\r|\n|\r/g;

const removeDuplicatedLines = (text) => {
  	return text.split(newLineExpression)
  		.filter((item, index, array) => array.indexOf(item) === index)
    	.join('\n');
};

// Przykład użycia:

const text = `a
b
b
a
a
c
c`;

console.log(removeDuplicatedLines(text)); // a
                                          // b
                                          // c

Przykład oparty o funkcję reduce()

To podej┼Ťcie ma na celu pokazanie,┬á┼╝e mo┼╝na uzyska─ç ten sam efekt za pomoc─ů metody┬áreduce().

// ONLINE-RUNNER:browser;

const newLineExpression = /\r\n|\n\r|\n|\r/g;

const removeDuplicatedLines = (text) => {
  	const blocker = {}; // zapobieka duplikowaniu linii
  	return text.split(newLineExpression)
    	.reduce((result, line) => {
        	if (blocker.hasOwnProperty(line)) {
				return result;
            }
            blocker[line] = true;
            return result + line + '\n';
        }, '');
};

// Przykład użycia:

const text = `a
b
b
a
a
c
c`;

console.log(removeDuplicatedLines(text)); // a
                                          // b
                                          // c

Powi─ůzane posty

Zobacz te┼╝

Native Advertising
­čÜÇ
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join