Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
14c9368
Update extend.js
Kiira02 Aug 7, 2013
8e4090d
Update sort-basic.js
Kiira02 Aug 7, 2013
1ebea66
Update strings-basic.js
Kiira02 Aug 7, 2013
7c92a6a
test
Kiira02 Aug 7, 2013
868ba00
Update strings-basic.js
Kiira02 Aug 7, 2013
eecd99e
Update sort-basic.js
Kiira02 Aug 7, 2013
311b809
Update sort-basic.js
Kiira02 Aug 7, 2013
f3666aa
Update strings-basic.js
Kiira02 Aug 7, 2013
e08fc50
Update strings-basic.js
Kiira02 Aug 7, 2013
b0b0522
Update strings-basic.js
Kiira02 Aug 7, 2013
025de68
Update strings-basic.js
Kiira02 Aug 7, 2013
8df49fe
Update strings-basic.js
Kiira02 Aug 7, 2013
f77bbc1
Update strings-basic.js
Kiira02 Aug 7, 2013
743767c
Update strings-basic.js
Kiira02 Aug 7, 2013
2b6d47e
Update extend.js
Kiira02 Aug 7, 2013
157f737
Update strings-basic.js
Kiira02 Aug 7, 2013
d07971a
Update sort-basic.js
Kiira02 Aug 7, 2013
ae507fb
Update strings-basic.js
Kiira02 Aug 7, 2013
82a7862
Update strings-basic.js
Kiira02 Aug 7, 2013
c69ebf4
Update strings-basic.js
Kiira02 Aug 7, 2013
61beb00
Update strings-basic.js
Kiira02 Aug 7, 2013
2f5d6fb
Update sort-basic.js
Kiira02 Aug 7, 2013
5c82fb7
Update sort-basic.js
Kiira02 Aug 7, 2013
0948796
Update sort-basic.js
Kiira02 Aug 8, 2013
5b73f24
Update strings-basic.js
Kiira02 Aug 8, 2013
1c15d16
Update sort-basic.js
Kiira02 Aug 8, 2013
49797c5
Update strings-basic.js
Kiira02 Aug 8, 2013
4346684
Update strings-basic.js
Kiira02 Aug 8, 2013
65be29f
Update sort-basic.js
Kiira02 Aug 8, 2013
3ef00ea
Update strings-basic.js
Kiira02 Aug 8, 2013
6296da6
Update sort-basic.js
Kiira02 Aug 8, 2013
5337825
Update strings-basic.js
Kiira02 Aug 8, 2013
af0a744
Update extend.js
Kiira02 Aug 8, 2013
c2825c7
Update extend.js
Kiira02 Aug 8, 2013
2c2f2a5
Update extend.js
Kiira02 Aug 8, 2013
3c6ac29
Update extend.js
Kiira02 Aug 8, 2013
b24e7c5
Update extend.js
Kiira02 Aug 8, 2013
aaca511
Update extend.js
Kiira02 Aug 8, 2013
b32a851
Update extend.js
Kiira02 Aug 8, 2013
2cd9187
Update extend.js
Kiira02 Aug 8, 2013
f9170bf
Update extend.js
Kiira02 Aug 8, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions scripts/extend.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
function extend(P, px, sx){
var obj = function () {
P.call(this);
};

var oldProt = function () { };
oldProt.prototype = P.prototype;
obj.prototype = new oldProt();
obj.prototype.constructor = obj;
obj.superclass = P.prototype;

for (var i in px) {
obj.prototype[i] = px[i];

if (i == 'constructor') {
var pr = obj.prototype;
obj = px[i];
obj.prototype = pr;
obj.prototype.constructor = obj;
}

}

for (var idx in sx) {
obj[idx] = sx[idx];
}

for (var item in P) {
if (obj[item] == undefined) {
obj[item] = P[item];
}
}

return obj;
}
33 changes: 32 additions & 1 deletion scripts/sort-basic.js
Original file line number Diff line number Diff line change
@@ -1 +1,32 @@
//todo - implement
(function () {
"use strict";
var oldSort = Array.prototype.sort;
Array.prototype.sort = function(predicate) {
var dirty = true;

if (!predicate) {
predicate = function(a, b) { return a - b; };
}

while (dirty) {
dirty = false;
for (var i = 0; i < this.length - 1; i++) {
var equal = predicate(this[i], this[i + 1]);
if (!equal) continue;
{
if (equal > 0) {
var temp = this[i + 1];
this[i + 1] = this[i];
this[i] = temp;
dirty = true;
}
}
}
}

Array.prototype.sort = oldSort;

return this;
};
}())

81 changes: 58 additions & 23 deletions scripts/strings-basic.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,66 @@
var StringsBasic = {
/**
* @param {string} str
* @param {string} sub
* @returns {number}
*/
subCount : function(str, sub) {},
* @param {string} str
* @param {string} sub
* @returns {number}
*/
subCount: function (str, sub) {
return str.toLowerCase().split(sub.toLowerCase()).length - 1;
},

/**
* @param {string} str
* @param {string} sub
* @returns {Array,<string>}
*/
wordsContains : function(str, sub) {},
* @param {string} str
* @param {string} sub
* @returns {Array,<string>}
*/
wordsContains: function (str, sub) {
var array = str.replace(/[&\/|\\#,+()$~%.'":*?!<>{}_]/g, " ").split(" ");
var result = [];
for (var i in array) {
if (array[i].toLowerCase().search(sub.toLowerCase()) != -1) {
result.push(array[i]);
}
}
return result;
},
/**
* @param {string} str
* @param {string} sub
* @returns {Array.<string>}
*/
wordsNotContains : function(str, sub) {},
* @param {string} str
* @param {string} sub
* @returns {Array.<string>}
*/
wordsNotContains: function (str, sub) {
var array = str.replace(/[&\/|\\#,+()$~%.'":*?!<>{}_]/g, " ").split(" ");
var result = [];
for (var i in array) {
if (array[i].toLowerCase().search(sub.toLowerCase()) == -1) {
result.push(array[i]);
}
}
return result;
},
/**
* @param {string} str
* @returns {Array.<string>}
*/
wordsBeginCapital : function(str) {},
* @param {string} str
* @returns {Array.<string>}
*/
wordsBeginCapital: function (str) {
var array = str.replace(/[&\/|\\#,+()$~%.'":*?!<>{}0-9_]/g, ' ').split(" ");
var result = [];
for (var i in array) {
var letter = array[i].substr(0, 1);
if (letter == letter.toUpperCase() && letter != '') {
result.push(array[i]);
}
}
return result;
},
/**
* @param {string} str
* @returns {boolean}
*/
isPalindrome : function(str) {}
* @param {string} str
* @returns {boolean}
*/
isPalindrome: function (str) {
if (str.toLowerCase() == str.split('').reverse().join('').toLowerCase()) {
return true;
}
return false;
}
};
2 changes: 1 addition & 1 deletion test/unit/strings-basic.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ describe('strings-basic.js', function(){

assert.deepEqual(StringsBasic.wordsBeginCapital('Hello cruel World'), ['Hello', 'World']);

assert.deepEqual(StringsBasic.wordsBeginCapital('Hello,Cruel_World'), ['Hello', 'Cruel']);
assert.deepEqual(StringsBasic.wordsBeginCapital('Hello,Cruel_World'), ['Hello', 'Cruel', 'World']);

assert.deepEqual(StringsBasic.wordsBeginCapital('Hello,123'), ['Hello']);
});
Expand Down