js03.md 6.6 KB

html tree

var body = {
	tagName: 'body',
	paired: true,
	subTags: [
		{
			tagName: 'div',
			paired: true,
			subTags: [
				{
					tagName: 'span',
					paired: true,
					text: 'Enter a data please:'
				},
				{
					tagName: 'br',
					paired: false
				},
				{
					tagName: 'input',
					paired: false,
					attr: {
						type: 'text',
						id: 'name'
					}
				},
				{
					tagName: 'input',
					paired: false,
					attr: {
						type: 'text',
						id: 'surname'
					}
				},
			]
		},
		{
			tagName: 'div',
			paired: true,
			subTags: [
				{
					tagName: 'button',
					paired: true,
					text: 'OK',
					attr: {
						id: 'ok'
					}
				},
				{
					tagName: 'button',
					paired: true,
					text: 'Cancel',
					attr: {
						id: 'cancel'
					}
				}
			]
		}
	]
}
alert('Значения текста во второй кнопке: ' + body.subTags[1].subTags[1].text);
alert('Значение атрибута id во втором input: ' + body.subTags[0].subTags[3].attr.id);

declarative fields

var notebook = {
	brand: prompt("Enter a brand"),
	type: prompt("Enter a type"),
	model: prompt("Enter a model"),
	ram: +prompt("Enter a ram"),
	size: prompt("Enter a size"),
	weight: +prompt("Enter a weight"),
	resolution: {
		width: +prompt("Enter a width"),
		height: +prompt("Enter a height")
	}
};

var phone = {
	brand: prompt("Enter a brand"),
	model: prompt("Enter a model"),
	ram: +prompt("Enter a ram"),
	color: prompt("Enter a color")
};

var person = {
	name: prompt("Enter a name"),
	surname: prompt("Enter a sirname"),
	married: confirm("Is married?")
};

object links

var notebook = {
	brand: prompt("Enter a brand"),
	type: prompt("Enter a type"),
	model: prompt("Enter a model"),
	ram: +prompt("Enter a ram"),
	size: prompt("Enter a size"),
	weight: +prompt("Enter a weight"),
	resolution: {
		width: +prompt("Enter a width"),
		height: +prompt("Enter a height")
	},
};

var phone = {
	brand: prompt("Enter a brand"),
	model: prompt("Enter a model"),
	ram: +prompt("Enter a ram"),
	color: prompt("Enter a color"),
};

var person = {
	name: prompt("Enter a name"),
	surname: prompt("Enter a sirname"),
	married: confirm("Is married?"),
};
person.smartphone = phone;
person.laptop = notebook;
notebook.owner = person;
phone.owner = person; 
person.smartphone.owner.laptop.owner.smartphone == person.smartphone;

imperative array fill 3

var arr = [];
arr[0] = prompt("Введите 1й элемент массива");
arr[1] = prompt("Введите 2й элемент массива");
arr[2] = prompt("Введите 3й элемент массива");

while confirm

var conf;
while(!conf){
	conf = confirm();
}

array fill

var arr = [];

while(true){
	var arrEl = prompt("Введите новый элемент массива");
	if(!arrEl){
		break;
	}
	arr.push(arrEl);
}

array fill nopush

var arr = [];

while(true){
	var arrEl = prompt("Введите новый элемент массива");
	if(!arrEl){
		break;
	}
	arr[arr.length] = arrEl;
}

infinite probability

var i = 0;
while(true){
	var rand = Math.random();
	i++;
	if(rand > 0.9){
		alert("Число итераций: " + i);
		break;
	}
}

empty loop

while(!prompt("","true")) {

}

progression sum

var n = +prompt("Введите число N") * 3;
var summ = 0;

for(i = 1; i < n; i += 3){
	summ += i;
}

alert(summ);

chess one line

var str = "";
var isEven = confirm("Длина строки должна быть четной?");
for(i = 0; i < 5; i++) {
	if(i !== 4 || isEven){
		str += " #";
	}
	else{
		str += " # "
	}
}
alert("'" + str + "'" + " Длина строки: " + str.length);

numbers

for(i = 0; i < 10; i++){
	for(j = 0; j < 10; j++){
		document.write(j);
	}
	document.write("<pre>\n</pre>")
}

chess

var chessHeight = 10;
var chessWidth = 12;
for (var i = 0; i < chessHeight; i++) {
	if(!(i % 2)){
		document.write(".");
	}
	for (var j = 0; j < chessWidth - 1; j++) {
		if(!(j % 2)){
			document.write("#");
		}
		else{
			document.write(".");
		}
	}
	if(i % 2) {
		document.write(".");
	}
	document.write("<pre>\n</pre>");
}

cubes

var n = +prompt("Введите длину 'N' массива");
var arr = [];
for (var i = 0; i < n; i++) {
	arr[i] = i * i * i;
}
alert(arr);

multiply table

var arr = [];
for (var i = 0; i < 11; i++) {
		arr[i] = [];
	for (var j = 0; j < 11; j++) {
	
		arr[i][j] = j * i;
	}
}

var a = prompt("Введите множимое");
var b = prompt("Введите множитель");
alert(arr[a][b]);

matrix to html table

var arr = [];
for (var i = 0; i < 11; i++) {
		arr[i] = [];
	for (var j = 0; j < 11; j++) {
	
		arr[i][j] = j * i;
	}
}

var table = "<table>";
for(var i = 0; i < arr.length; i++){
	table += "<tr>";
	for (var j = 0; j < arr[i].length; j++) {
		table += "<td>" + arr[i][j] + "</td>";
	}
	table += "</tr>";
}
document.write(table);

jQ person

Задание по ссылке http://homework.pavelefimen95.fe.a-level.com.ua/js03/jQperson_files/

jQ collect

Задание по ссылке http://homework.pavelefimen95.fe.a-level.com.ua/js03/jQcollect_files/

Задание на синий пояс: Треугольник

var str = "";
for (var i = 0; i < 6; i++) {
	for (var j = 0; j < 5 - i; j++) {
		str += " . ";
	}
	for (var g = 0; g < i + i + 1; g++) {
			str += "#";
	}	
	for (var j = 0; j < 5 - i; j++) {
		str += " . ";
	}
	str += "<pre>\n</pre>";
}
document.write(str);

Задание на черный пояс: Электронная гадалка

var histor = [1,1,1,1];

var predictArray = new Array(4);
for (var i = 0; i < predictArray.length; i++) {
	predictArray[i] = [];
	for (var j = 0; j < predictArray.length; j++) {
		predictArray[i][j] = [];
		for (var g = 0; g < predictArray.length; g++) {
			predictArray[i][j][g] = [];
			for (var c = 0; c < predictArray.length; c++) {
				predictArray[i][j][g][c] = -1;

			}
		}
	}
}

while(true){
	if(predictArray[histor[0]][histor[1]][histor[2]][histor[3]] > -1)
		console.log(predictArray[histor[0]][histor[1]][histor[2]][histor[3]]);
	else{
		console.log(Math.floor(Math.random() * 2) + "rand");
	}

	var userNumber = prompt("Введите 0 или 1");
	if(userNumber === "1" || userNumber === "0"){
		parseInt(userNumber);
	}
	else{
		break;
	}
	predictArray[histor[0]][histor[1]][histor[2]][histor[3]] = userNumber;
	histor.push(userNumber);
	histor.shift();
}