Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
16
Task/Search-a-list/JavaScript/search-a-list-1.js
Normal file
16
Task/Search-a-list/JavaScript/search-a-list-1.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
var haystack = ['Zig', 'Zag', 'Wally', 'Ronald', 'Bush', 'Krusty', 'Charlie', 'Bush', 'Bozo']
|
||||
var needles = ['Bush', 'Washington']
|
||||
|
||||
for (var i in needles) {
|
||||
var found = false;
|
||||
for (var j in haystack) {
|
||||
if (haystack[j] == needles[i]) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found)
|
||||
print(needles[i] + " appears at index " + j + " in the haystack");
|
||||
else
|
||||
throw needles[i] + " does not appear in the haystack"
|
||||
}
|
||||
18
Task/Search-a-list/JavaScript/search-a-list-2.js
Normal file
18
Task/Search-a-list/JavaScript/search-a-list-2.js
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
for each (var needle in needles) {
|
||||
var idx = haystack.indexOf(needle);
|
||||
if (idx == -1)
|
||||
throw needle + " does not appear in the haystack"
|
||||
else
|
||||
print(needle + " appears at index " + idx + " in the haystack");
|
||||
}
|
||||
|
||||
// extra credit
|
||||
|
||||
for each (var elem in haystack) {
|
||||
var first_idx = haystack.indexOf(elem);
|
||||
var last_idx = haystack.lastIndexOf(elem);
|
||||
if (last_idx > first_idx) {
|
||||
print(elem + " last appears at index " + last_idx + " in the haystack");
|
||||
break
|
||||
}
|
||||
}
|
||||
47
Task/Search-a-list/JavaScript/search-a-list-3.js
Normal file
47
Task/Search-a-list/JavaScript/search-a-list-3.js
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
(function () {
|
||||
|
||||
function findIndex(fnPredicate, list) {
|
||||
for (var i = 0, lng = list.length; i < lng; i++) {
|
||||
if (fnPredicate(list[i])) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return Error("not found");
|
||||
};
|
||||
|
||||
// DEFINING A PARTICULAR TYPE OF SEARCH MATCH
|
||||
|
||||
function matchCaseInsensitive(s, t) {
|
||||
return s.toLowerCase() === t.toLowerCase();
|
||||
}
|
||||
|
||||
var lstHaystack = [
|
||||
'Zig', 'Zag', 'Wally', 'Ronald', 'Bush',
|
||||
'Krusty', 'Charlie', 'Bush', 'Bozo'
|
||||
],
|
||||
lstReversed = lstHaystack.slice(0).reverse(),
|
||||
iLast = lstHaystack.length - 1,
|
||||
lstNeedles = ['bush', 'washington'];
|
||||
|
||||
return {
|
||||
'first': lstNeedles.map(function (s) {
|
||||
return [s, findIndex(function (t) {
|
||||
return matchCaseInsensitive(s, t);
|
||||
},
|
||||
lstHaystack)];
|
||||
}),
|
||||
|
||||
'last': lstNeedles.map(function (s) {
|
||||
var varIndex = findIndex(function (t) {
|
||||
return matchCaseInsensitive(s, t);
|
||||
},
|
||||
lstReversed);
|
||||
|
||||
return [
|
||||
s,
|
||||
typeof varIndex === 'number' ?
|
||||
iLast - varIndex : varIndex
|
||||
];
|
||||
})
|
||||
}
|
||||
})();
|
||||
22
Task/Search-a-list/JavaScript/search-a-list-4.js
Normal file
22
Task/Search-a-list/JavaScript/search-a-list-4.js
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"first": [
|
||||
[
|
||||
"bush",
|
||||
4
|
||||
],
|
||||
[
|
||||
"washington",
|
||||
"Error: not found"
|
||||
]
|
||||
],
|
||||
"last": [
|
||||
[
|
||||
"bush",
|
||||
7
|
||||
],
|
||||
[
|
||||
"washington",
|
||||
"Error: not found"
|
||||
]
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue