Test Tasks

by asdf

JavaScript

// spacify('hello world') // => 'h e l l o  w o r l d'
function spacify () {
	// var str = 'hello world';
	console.log(this.split('').join(' ').replace(/\s+/gi, ' '));
	var arr = this.split('');
	for (var i = 0; i < arr.length-1; i++) {
    	if (arr[i] !== ' ' && arr[i+1] !== ' ') {
    		arr[i] += ' ';
		}
	}
	return arr.join('');
};

String.prototype.spacify = spacify;

//console.log('hello world'.spacify());
//=================================
function log () {
    var arr = ['(app)'];
    for (var i=0; i<arguments.length; i++) {
    	arr.push(arguments[i]);
    }
    console.log.apply(console, arr);
}
// log('hello', 'world');
//=================================
function bind (context, func) {
	return function () {
        return func.apply(context, arguments);
    }
}
var User = {
  count: 1,

  getCount: function() {
    return this.count;
  }
};
console.log(User.getCount());
var func = bind(User, User.getCount);
console.log(func());

//=================================
// 1. find maximum element in array
var arr = [3, -7, 0, 15, 8, 2, 3];
var max;
var max2;
if (arr[0] > arr[1]) {
  max = arr[0];
	max2 = arr[1];
} else {
  max = arr[1];
	max2 = arr[0];
}
max = Math.max(arr[0], arr[1]);
max2 = Math.min(arr[0], arr[1]);

for (i=2; i<arr.length; i++) {
  if (arr[i] > max) {
    max2 = max;
    max = arr[i];
  } else if (arr[i] > max2) {
    max2 = arr[i];
  }
}
console.log(max, max2);

var result = [];
for(var i = 0; i < 3; i++) {
	var max = arr[0];
  var max_idx = 0;
  for(var j = 1; j < arr.length; j++) {
    if (max < arr[j]) {
      max = arr[j];
      max_idx = j;
    }
  }
  result.push(max);
  arr.splice(max_idx, 1);
}
console.log(result);
//=================================
// 1. reverse string
// 2. reverse words in string, for example:
// "I found, a fox" -> "fox a found, I"
var s = 'I  found a fox';
var reversed = [];
var arr = s.split('');
for (var i=arr.length-1; i>=0; i--) {
  reversed.push(arr[i]);
}
reversed =...