From 2a7a5c5763b6c7b225277772f2b99794ac1c333c Mon Sep 17 00:00:00 2001 From: Vita Martsekhovska Date: Fri, 8 May 2026 23:13:55 +0300 Subject: [PATCH] Solution --- package-lock.json | 9 +++++---- package.json | 2 +- src/arrayMethodSort.js | 24 ++++++++++++++++++++++-- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index eadb3115..84d432db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "license": "GPL-3.0", "devDependencies": { "@mate-academy/eslint-config": "latest", - "@mate-academy/scripts": "^1.8.6", + "@mate-academy/scripts": "^2.1.3", "eslint": "^8.57.0", "eslint-plugin-jest": "^28.6.0", "eslint-plugin-node": "^11.1.0", @@ -1467,10 +1467,11 @@ } }, "node_modules/@mate-academy/scripts": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-1.8.6.tgz", - "integrity": "sha512-b4om/whj4G9emyi84ORE3FRZzCRwRIesr8tJHXa8EvJdOaAPDpzcJ8A0sFfMsWH9NUOVmOwkBtOXDu5eZZ00Ig==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@mate-academy/scripts/-/scripts-2.1.3.tgz", + "integrity": "sha512-a07wHTj/1QUK2Aac5zHad+sGw4rIvcNl5lJmJpAD7OxeSbnCdyI6RXUHwXhjF5MaVo9YHrJ0xVahyERS2IIyBQ==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/rest": "^17.11.2", "@types/get-port": "^4.2.0", diff --git a/package.json b/package.json index 9c0b7bbd..0827621b 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "license": "GPL-3.0", "devDependencies": { "@mate-academy/eslint-config": "latest", - "@mate-academy/scripts": "^1.8.6", + "@mate-academy/scripts": "^2.1.3", "eslint": "^8.57.0", "eslint-plugin-jest": "^28.6.0", "eslint-plugin-node": "^11.1.0", diff --git a/src/arrayMethodSort.js b/src/arrayMethodSort.js index 32363d0d..0e9f4288 100644 --- a/src/arrayMethodSort.js +++ b/src/arrayMethodSort.js @@ -4,8 +4,28 @@ * Implement method Sort */ function applyCustomSort() { - [].__proto__.sort2 = function(compareFunction) { - // write code here + [].__proto__.sort2 = function (compareFunction) { + for (let i = 0; i < this.length; i++) { + for (let j = 0; j < this.length - 1; j++) { + if (compareFunction === undefined) { + if (String(this[j]) > String(this[j + 1])) { + const item = this[j]; + + this[j] = this[j + 1]; + this[j + 1] = item; + } + } else { + if (compareFunction(this[j], this[j + 1]) > 0) { + const item1 = this[j]; + + this[j] = this[j + 1]; + this[j + 1] = item1; + } + } + } + } + + return this; }; }