Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 22
1

Можно ли расчитать переменную?

31.07.2016, 22:10. Просмотров 886. Ответов 26


Можно ли как нибудь рассчитать переменную в массива объекта?
пытался вот так не получилось(((
Можно ли расчитать переменную?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.07.2016, 22:10
Ответы с готовыми решениями:

Можно ли в переменную загрузить изображение?
а можно ка нибудь в Javascript в переменную загрузить изображение???, типо создать обект в котором...

Можно ли в .animate поставить переменную?
...но только не с качестве значения, а в качестве свойства. var vector = (1>0) ? top : bottom;...

Можно ли использовать переменную в jquery выборке?
можно ли за место селекторов использовать переменную выбрать элемент не так ...

Можно ли преобразать переменную bool в переменную int, short. И переменную string в переменную short, int и
И переменную string в переменную short, int и т.д.

26
шКодер самоучка
2127 / 1843 / 902
Регистрация: 09.10.2013
Сообщений: 4,029
Записей в блоге: 7
31.07.2016, 23:11 2
Javascript
1
myKR.forEach(function(x){ x.inkr=x.x-15; });
0
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 22
01.08.2016, 09:45  [ТС] 3
А сразу когда создаёшь массивы для каждого объекта в скобках {} нельзя рассчитывать формулы? например нам уже известно чему равен R и X c Y надо рассчитать чему равен массив inkr в этом объекте нарпример такая формула {X-(R*2.5) + y}
0
шКодер самоучка
2127 / 1843 / 902
Регистрация: 09.10.2013
Сообщений: 4,029
Записей в блоге: 7
01.08.2016, 09:48 4
Цитата Сообщение от Orcan37 Посмотреть сообщение
А сразу когда создаёшь массивы для каждого объекта в скобках {} нельзя рассчитывать формулы?
смотря как массив задается...
0
Superposition
948 / 614 / 256
Регистрация: 27.10.2013
Сообщений: 2,084
01.08.2016, 10:30 5
Цитата Сообщение от Orcan37 Посмотреть сообщение
А сразу когда создаёшь массивы для каждого объекта в скобках {} нельзя рассчитывать формулы?
нужно использовать точечную или скобочную запись для указания имен свойств литерала.
Javascript
1
var myKR = {x: 30, inkr: myKR.x - 15}

Не по теме:

когда придешь на форум с очередным вопросом, то попробуй писать код текстом. А тут народ и без красных стрелок разберется.

0
Max Dark
01.08.2016, 10:34
  #6

Не по теме:

Padimanskas,

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
max@node:~
$> nodejs
> var myKR = {x: 30, inkr: myKR.x - 15};
TypeError: Cannot read property 'x' of undefined
    at repl:1:30
    at REPLServer.defaultEval (repl.js:252:27)
    at bound (domain.js:287:14)
    at REPLServer.runBound [as eval] (domain.js:300:12)
    at REPLServer.<anonymous> (repl.js:417:12)
    at emitOne (events.js:82:20)
    at REPLServer.emit (events.js:169:7)
    at REPLServer.Interface._onLine (readline.js:211:10)
    at REPLServer.Interface._line (readline.js:550:8)
    at REPLServer.Interface._ttyWrite (readline.js:827:14)
>
не прокатит, а жаль...

0
Superposition
948 / 614 / 256
Регистрация: 27.10.2013
Сообщений: 2,084
01.08.2016, 12:04 7
Цитата Сообщение от Cra3y Посмотреть сообщение
не прокатит, а жаль...
а мне не жаль, иначе при таком варианте стадия инициализации была бы как винегрет. Видимо у меня объект уже был создан и лежал в куче поэтому вышла неувязка хэхэ). Как я уже говорил, значения свойств можно перезаписать через точечную запись или через дескриптор, все очень просто.
1
шКодер самоучка
2127 / 1843 / 902
Регистрация: 09.10.2013
Сообщений: 4,029
Записей в блоге: 7
01.08.2016, 12:11 8
Извращение на тему
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function create(obj) {
    for (var key in obj) {
        if (obj[key] instanceof Function) {
            obj[key] = obj[key](obj);
        }
    }
    return obj;
}
console.log(create({
    'x': 10,
    'y': 5,
    'result': function (self) {
        return self['x'] * self['y'];
    }
}));
0
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 22
01.08.2016, 16:17  [ТС] 9
это слишком большие извращения даже для меня. Жаль что никто не знает такого способа((
0
180 / 102 / 48
Регистрация: 12.03.2016
Сообщений: 257
01.08.2016, 21:17 10
Цитата Сообщение от Cra3y Посмотреть сообщение
Извращение на тему
А почему не использовать функцию конструктор для создания объектов?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Новый синтаксис
'use strict';
 
class CreateObj1 {
  constructor(x, y) {
    this.x = x;
    this.y = y;
    this.z = this.x + 100;
  }
}
 
let o1 = new CreateObj1(10, 20);
console.log(o1);
 
// Старый синтаксис
function CreateObj2 (x, y) {
    this.x = x;
    this.y = y;
    this.z = this.x + 100;
}
 
var o2 = new CreateObj2(10, 20);
console.log(o2);
 
// Можно массив объектов создать тогда так
function CreateObjKR (r, x, y, q) {
    this.x = r;  
    this.x = x;  
    this.x = y;
    this.inkr = x - 15;
    this.q = q;
}
var myKR = [];
myKR.push(new CreateObjKR(100, 100, 100, 100));
myKR.push(new CreateObjKR(200, 200, 200, 200));
myKR.push(new CreateObjKR(300, 300, 300, 300));
console.log(myKR);
console.log(myKR[2].inkr);
1
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 22
01.08.2016, 21:48  [ТС] 11
спасибо за ответ, но я ожидал что можно будет легче все сделать)
0
супермизантроп
Эксперт JS
3860 / 2934 / 685
Регистрация: 18.04.2012
Сообщений: 8,539
02.08.2016, 02:29 12
Цитата Сообщение от Orcan37 Посмотреть сообщение
А сразу когда создаёшь массивы для каждого объекта в скобках {} нельзя рассчитывать формулы?
можно, но с одним условием --переменные, задействованные в формуле, должны быть определены ДО СОЗДАНИЯ массива (либо объекта) -- вы, кстати, очень вольно общаетесь с этими понятиями: в реальности у вас имеется объект, который вы определяете через названия его свойств и их значений, и совершенно непонятно, о каком-таком "массиве объекта" вы здесь пишете?

Javascript
1
2
3
var q = 30;
var myKR = {x: q, inkr: q - 15, primer: (q - 5) / 5};
alert (myKR.inkr); // для проверки
PS. совет от Padimanskas проигнорируйте -- он неверен и потому его пример не работает и работать не может
0
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 22
02.08.2016, 09:42  [ТС] 13
понятно теперь, что нельзя пока они не созданы.... а жаль...
0
Эксперт PHP
932 / 690 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
02.08.2016, 12:07 14
как вариант
Javascript
1
2
3
4
5
6
7
8
var myKR = {
    x: 30,
    inkr: function() {
        return this.x - 15
    }
}
 
console.log(myKR.inkr()); //15
0
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 22
02.08.2016, 19:49  [ТС] 15
Javascript
1
2
3
4
5
6
7
8
var myKR = {
    x: 30,
    inkr: function() {
        return this.x - 15
    }
}
 
console.log(myKR.inkr())
; //15

не подойдёт свободно нельзя как переменной воспользоваться типа myKR.inkr без функции будет всегда писать
Javascript
1
2
3
function () {
        return this.x - 15
    }

Нужно чтоб сразу число было
0
шКодер самоучка
2127 / 1843 / 902
Регистрация: 09.10.2013
Сообщений: 4,029
Записей в блоге: 7
02.08.2016, 20:41 16
Orcan37, ну других вариантов не остается. Мое решение вам не подошло
0
Эксперт PHP
932 / 690 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
02.08.2016, 21:03 17
Orcan37, почитай про гетеры сетеры, может изменишь конструкцию своего велосипеда
сейчас наверное так выглядит
0
Eva Rosalene
03.08.2016, 01:57
  #18
 Комментарий модератора 
kalabuni, Padimanskas, господа, умерьте пыл.
Padimanskas, обращения в виде
Цитата Сообщение от Padimanskas Посмотреть сообщение
ты болен чувак
на этом форуме недопустимы.
0
Pure Free Digital Ghost
4214 / 1674 / 323
Регистрация: 06.01.2013
Сообщений: 4,287
03.08.2016, 02:01 19
Orcan37, литералы объектов подобное не поддерживают. Наиболее правильный с точки зрения хорошего стиля в программировании пример представлен в посте #10 от dzendev - используйте конструкторы.
0
Эксперт PHP
932 / 690 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
03.08.2016, 02:35 20
Лучший ответ Сообщение было отмечено Orcan37 как решение

Решение

Цитата Сообщение от FraidZZ Посмотреть сообщение
Orcan37, литералы объектов подобное не поддерживают. Наиболее правильный с точки зрения хорошего стиля в программировании пример представлен в посте
Javascript
1
2
3
4
5
6
7
var myKR = {
    x: 30,
    get inkr() { return this.x -15; },
}
 
 
console.log(myKR.inkr); //15
я ведь писал
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
почитай про геттеры сеттеры
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2016, 02:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Вывести сначала те A и B для которых можно расчитать значение C, затем все оставшиеся
Как в паскале записать формулу: сначала те A и B для которых можно расчитать значение C, затем все...

Расчитать сумму денег, необходимую студенту, чтобы можно было прожить учебный год
это как я чет не смог Добавлено через 5 минут Ежемесячная стипендия студента составляет A руб.,...

Работа с таблицей: можно ли сначала вывести секции, потом забить свои значения и расчитать итог?
1С7.7 Никак не могу понять: можно ли в отчете сначала сформировать таблицу,как результат отчета -...

Можно как-то объявить переменную, чтобы к ней можно было обратиться с любой из форм?
У меня такой вопрос) Пишу курсовую работу, состоит из 3 форм, есть пару переменных, которые нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.