This commit is contained in:
Ilya Kantor 2016-07-22 20:47:41 +03:00
parent 057783d216
commit 3f5f2cac8b
324 changed files with 669 additions and 286 deletions

View file

@ -0,0 +1,10 @@
function unique(arr) {
var obj = {};
for (var i = 0; i < arr.length; i++) {
var str = arr[i];
obj[str] = true; // запомнить строку в виде свойства объекта
}
return Object.keys(obj); // или собрать ключи перебором для IE8-
}

View file

@ -0,0 +1,15 @@
describe("unique", function() {
it("убирает неуникальные элементы из массива", function() {
var strings = ["кришна", "кришна", "харе", "харе",
"харе", "харе", "кришна", "кришна", "8-()"
];
assert.deepEqual(unique(strings), ["кришна", "харе", "8-()"]);
});
it("не изменяет исходный массив", function() {
var strings = ["кришна", "кришна", "харе", "харе"];
unique(strings);
assert.deepEqual(strings, ["кришна", "кришна", "харе", "харе"]);
});
});