Ninja homework4

by Olga Zhizhka

JavaScript

//Домашнее задание №4

'use strict';

//п1
var user = {
  name: 'Olga',
  login: 'zhizhka',
  password: '123',
  address: {
    city: 'Odessa',
    house: {
      flat: 20,
      floor: 5
    }
  }
};

function cloneObject(obj, n) {
    n = n || 1;
    var clone = {},
        arrClonedObj = [];
    if (typeof obj != "object") {
       return false;
    }
    for (var key in obj) {
        clone[key] = obj[key];
    }
    if(n > 1) {
        for(var i = n; i > 0; i--) {
            arrClonedObj.push(clone);
        }
        return arrClonedObj;
    }
    return clone;
}
console.log(cloneObject(user));
console.log(cloneObject(user,5));

//п2.
function dimensionTime() {

    var userDate  = prompt("Введите дату в данном формате: 01.01.2001",'01.01.2001'),
        oneDay = 1000*60*60*24,
        residualDates,
        residualDatesAbs,
        lastDigit,
        convertedDate,
        dayName,
        currentDate = new Date();

    function validateDate(date){
        var tempArr;
        if(date) {
            tempArr = date.split(".");
            if(tempArr.length != 3) {
                return false;
            }
            tempArr[1] -= 1;
            convertedDate = new Date(tempArr[2], tempArr[1], tempArr[0]);
            if (!((convertedDate.getFullYear() == tempArr[2])
                && (convertedDate.getMonth() == tempArr[1])
                && (convertedDate.getDate() == tempArr[0]))) {
                    return false;
            }
        } else {
            return false;
        }
        return true;
    };
    
    if(validateDate(userDate)) {
        residualDates = Math.floor((currentDate.getTime() - convertedDate.getTime())/oneDay);
        residualDatesAbs =  Math.abs(residualDates);
        lastDigit = Math.floor(residualDatesAbs%10);
        switch(lastDigit) {
            case 1:
                dayName = ' день';
                break;
            case 2:
            case 3:
            case 4:
                dayName = ' дня';
         ...