Показать сообщение отдельно
  #5 (permalink)  
Старый 05.02.2013, 14:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Object.defineProperty(Object.prototype, 'toString', {
    value: function () {
		var result = [];
		for (var property in this) {
			result.push( property + ' : ' + this[property] );
		}
		return result.join(',');
	},
	enumerable: false
});

function find (needle) {
    var x = [1,2,3,4,5];
    var y = [1,5,10,25,50,100];
    
    var last = {x: -1, y: -1, value: -1}, temp;
    for (var i=0; i<x.length; i++) {
        for (var j=0; j<y.length; j++) {
            temp = x[i] * y[j];
            if (temp == needle) {
                return {x: x[i], y: y[j], value: needle};
            }
            if (temp < needle && temp > last.value) {
                last = {x: x[i], y: y[j], value: temp};
            }
        }
    }
    return last;
}

alert ( find(450) );
alert ( find(250) );


toString перекрыл только для отладки, не стоит так делать в рабочем проекте.
Ответить с цитированием