19.03.2016, 20:12
|
Профессор
|
|
Регистрация: 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 что делает?
|
|
19.03.2016, 20:17
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
DivMan,
user.fullLength считает длину всех строк в ключах "Vasya" + "Pupkin" = 11
добавили ключ test со значением "ok"
"Vasya" + "Pupkin" +"ok" = 13
как раз ваше задание
Сообщение от DivMan
|
подсчитать количество символов у значений.
|
|
|
19.03.2016, 21:07
|
Профессор
|
|
Регистрация: 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
|
|
19.03.2016, 21:09
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
|
|
19.03.2016, 21:23
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
DivMan,
|
|
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
|
|
20.03.2016, 05:43
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
Почему так не работает?
https://jsfiddle.net/3m0Lvv1o/
Если мы создаём объект при помощи синтаксиса { ... }, то задать свойства-функции можно прямо в его определении.
|
|
05.09.2016, 11:30
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
Надо перебрать всех пассажиров и вывести их количество.
Вывести имя пассажира и определить, оплатил или нет.
Количество оплативших.
Количество не оплативших.
Это нормальный код? http://plnkr.co/edit/GtdqwD4kv27rcy1pXGEL?p=preview
|
|
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}`)
|
|
05.09.2016, 12:29
|
|
junior
|
|
Регистрация: 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;
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
|
|