Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2017, 19:17
Аспирант
Отправить личное сообщение для Sergey and Посмотреть профиль Найти все сообщения от Sergey and
 
Регистрация: 06.12.2016
Сообщений: 44

Объект в массив Uint8Array
Подскажите как объект конвертировать в массив типа Uint8Array?
function Datt(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) {
    this.var1= v1;
    this.varvar2= v2;
    this.var3 = v3;
    this.var4= v4;
    this.var5= v5;
    this.var6= v6;
    this.var7= v7;
    this.var8= v8;
    this.var9= v9;
    this.var10= v10;

};

var td = new Datt(1,1,1,1,1,1,1,1,1,1);
var buf= new Uint8Array();
buf =td.array //как преобразовать?
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2017, 23:16
Аспирант
Отправить личное сообщение для Sergey and Посмотреть профиль Найти все сообщения от Sergey and
 
Регистрация: 06.12.2016
Сообщений: 44

Так не возможно сделать?
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2017, 16:50
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Sergey and
Вопрос: кому и зачем нужны такая функция и такой объект?

function Datt(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) {
    this.var1= v1;
    this.varvar2= v2;
    this.var3 = v3;
    this.var4= v4;
    this.var5= v5;
    this.var6= v6;
    this.var7= v7;
    this.var8= v8;
    this.var9= v9;
    this.var10= v10;

};

Чтобы с ними было трудно работать?

А насчет преобразования, например, из массива
var td = [1,1,1,1,1,1,1,1,1,1];
var buf= new Uint8Array(td);

alert(buf.BYTES_PER_ELEMENT);
alert(buf);
alert(JSON.stringify( buf));
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2017, 18:32
Аспирант
Отправить личное сообщение для Sergey and Посмотреть профиль Найти все сообщения от Sergey and
 
Регистрация: 06.12.2016
Сообщений: 44

Мне нужно очень.
Нужно что то подобное сделать:
typedef struct{
int a;
int b;
double f;
....
}structdata;
typedef uniou {
structdata sd;
char buff[sizeof(structdata)];
}Tdataunion;
Tdataunion rd;

send(&rd.buff[0])

это на си на скриптах у меня что то ничего неполучается(
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2017, 13:19
Аспирант
Отправить личное сообщение для Sergey and Посмотреть профиль Найти все сообщения от Sergey and
 
Регистрация: 06.12.2016
Сообщений: 44

var td = [1,1,1,1,1,1,1,1,1,1];
var buf= new Uint8Array(td);
Этот код запишет в buf значение 1 + ASCII код запятой ? это не то тогда.
Нужно взять байты из памяти где храниться объект и отправить их.
function Datt(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) {
    this.var1= v1;
    this.varvar2= v2;
    this.var3 = v3;
    this.var4= v4;
    this.var5= v5;
    this.var6= v6;
    this.var7= v7;
    this.var8= v8;
    this.var9= v9;
    this.var10= v10;

};
var fg = new Datt;
fg нужно преобразовать в массив байт.Без добавления символов запятых ид . Подскажите пожалуйста уважаемые специалисты я в javascript плохо разбираюсь только начал изучать.
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2017, 14:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Sergey and,
Сообщение от Sergey and
Этот код запишет в buf значение 1 + ASCII код запятой ?
Какие запятые? запятых в массиве нет. Это просто разделитель при задании и отображении массива.
var td = [1,2,3,4,5,6,7,8,9,10];
var buf= new Uint8Array(td);

alert("Количество элементов = " + buf.length + " Четвертый элемент = " + buf[3]);
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2017, 15:30
Аспирант
Отправить личное сообщение для Sergey and Посмотреть профиль Найти все сообщения от Sergey and
 
Регистрация: 06.12.2016
Сообщений: 44

Понятно. Тогда то что надо ) спасибо.
Ответить с цитированием
  #8 (permalink)  
Старый 22.01.2017, 12:02
Аспирант
Отправить личное сообщение для Sergey and Посмотреть профиль Найти все сообщения от Sergey and
 
Регистрация: 06.12.2016
Сообщений: 44

Вот так не получается. выходит сообщение количество элементов 0 четвертый элемент udefined (
function Datt(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) {
    this.var1= v1;
    this.varvar2= v2;
    this.var3 = v3;
    this.var4= v4;
    this.var5= v5;
    this.var6= v6;
    this.var7= v7;
    this.var8= v8;
    this.var9= v9;
    this.var10= v10;

};
var fg = new Datt(1,1,1,1,1,1,1,1,1,1);

var buf = new Uint8Array(fg);

alert("Количество элементов = " + buf.length + " Четвертый элемент = " + buf[3]);

Последний раз редактировалось Sergey and, 22.01.2017 в 12:08.
Ответить с цитированием
  #9 (permalink)  
Старый 23.01.2017, 11:08
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Sergey and,
Я так и не понял, зачем вам нужна эта дурацкая функция.
Если очень хочется преодоления трудностей -
function Datt(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) {
    this.var1= v1;
    this.var2= v2;
    this.var3 = v3;
    this.var4= v4;
    this.var5= v5;
    this.var6= v6;
    this.var7= v7;
    this.var8= v8;
    this.var9= v9;
    this.var10= v10;

};
var fg = new Datt(1,1,1,1,1,1,1,1,1,1);
var fa = [];
for(var i = 1; i <= 10; i++) {
   fa[i - 1] = fg['var'+i];
}
var buf = new Uint8Array(fa);

alert("Количество элементов = " + buf.length + " Четвертый элемент = " + buf[3]);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать объект в массив platedz Events/DOM/Window 7 05.01.2016 03:09
Помогите определить массив или объект ksnovich Общие вопросы Javascript 1 09.03.2015 17:12
Как преобразовать объект в упорядоченный массив Shitbox2 Общие вопросы Javascript 15 09.06.2014 18:23
добавить массив в объект zloctb Общие вопросы Javascript 3 14.01.2012 14:16
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10