Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.03.2016, 20:12
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Сообщение от рони Посмотреть сообщение
да, достаточно var count = arr.length;
а попробуйте переделать fullName в fullLength

чтобы было так
var user = {
	name: "Vasya",
  family: "Pupkin"
}

Object.defineProperty(user, "fullLength", {
	get: function(){
    //....

  }
})



alert("в объекте user " + user.fullLength + " символов");//11
user.test = "ok"
alert("в объекте user " + user.fullLength + " символов"); //13
Я не понимаю, первая функция user.fullLength должна посчитать символы без пробела?

А второй alert что делает?
Ответить с цитированием
  #12 (permalink)  
Старый 19.03.2016, 20:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

DivMan,
user.fullLength считает длину всех строк в ключах "Vasya" + "Pupkin" = 11
добавили ключ test со значением "ok"
"Vasya" + "Pupkin" +"ok" = 13
как раз ваше задание
Сообщение от DivMan
подсчитать количество символов у значений.
Ответить с цитированием
  #13 (permalink)  
Старый 19.03.2016, 21:07
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Я не понимаю, почему первый раз считает, а второй раз не считает

var user = {
    name: "Vasya",
	family: "Pupkin"
}

Object.defineProperty(user, "fullLength", {
    get: function(){
		var result = "";
		for(var key in user){
			result = result + user[key]
		}
		return result
	}

})

var arr = user.fullLength.split('').length;


alert("в объекте user " + arr + " символов");//11
user.test = "ok"
alert("в объекте user " + arr + " символов"); //13
Ответить с цитированием
  #14 (permalink)  
Старый 19.03.2016, 21:09
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Ура я додумался
https://jsfiddle.net/8o53ozgu/
Ответить с цитированием
  #15 (permalink)  
Старый 19.03.2016, 21:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

DivMan,
Ответить с цитированием
  #16 (permalink)  
Старый 19.03.2016, 21:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

DivMan, ещё для разнообразия вариант решения
var user = {
	name: "Vasya",
  family: "Pupkin"
}

Object.defineProperty(user, "fullLength", {
	get: function(){
    return Object.keys(user).reduce(function(length, key) {
      return length += user[key].length;
    }, 0);

  }
})



alert("в объекте user " + user.fullLength + " символов");//11
user.test = "ok"
alert("в объекте user " + user.fullLength + " символов"); //13
Ответить с цитированием
  #17 (permalink)  
Старый 20.03.2016, 05:43
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Почему так не работает?

https://jsfiddle.net/3m0Lvv1o/

Если мы создаём объект при помощи синтаксиса { ... }, то задать свойства-функции можно прямо в его определении.
Ответить с цитированием
  #18 (permalink)  
Старый 05.09.2016, 11:30
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Надо перебрать всех пассажиров и вывести их количество.

Вывести имя пассажира и определить, оплатил или нет.

Количество оплативших.

Количество не оплативших.

Это нормальный код? http://plnkr.co/edit/GtdqwD4kv27rcy1pXGEL?p=preview
Ответить с цитированием
  #19 (permalink)  
Старый 05.09.2016, 12:09
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

var passengers = [
	{name: 'Jane Doloop', paid: true},
	{name: 'Dr. Evel', paid: true},
	{name: 'Sue Property', paid: false},
	{name: 'John Funcall', paid: true}
]
var paidPassengers = passengers.filter(item=> item.paid).length
var notPaidPassengers = passengers.filter(item=> !item.paid).length
console.log(`оплатили: ${paidPassengers}`)
console.log(`не оплатили: ${notPaidPassengers}`)
Ответить с цитированием
  #20 (permalink)  
Старый 05.09.2016, 12:29
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Царь Леонид Посмотреть сообщение
var passengers = [
	{name: 'Jane Doloop', paid: true},
	{name: 'Dr. Evel', paid: true},
	{name: 'Sue Property', paid: false},
	{name: 'John Funcall', paid: true}
]
var paidPassengers = passengers.filter(item=> item.paid).length
var notPaidPassengers = passengers.filter(item=> !item.paid).length
console.log(`оплатили: ${paidPassengers}`)
console.log(`не оплатили: ${notPaidPassengers}`)
var notPaidPassengers = passengers.length - paidPassengers;
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка 'авторизации' DJ_CD Элементы интерфейса 4 18.12.2014 15:19
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Проверка встроенной поддержки типа с помощью библиотеки Modernizr viy.li Библиотеки/Тулкиты/Фреймворки 3 15.06.2013 15:48
Проверка данных формы составным условием? myafa Элементы интерфейса 8 01.04.2011 08:30
Проверка полей отправляемой формы. denisOgr jQuery 6 18.10.2010 19:40