#javascript
#javascript
Вопрос:
у меня есть функция
var myarr[] =new Object();
function myfunction(id,msg)
{
myarr[id,msg]
}
Я пытаюсь добавить сообщение с идентификатором в качестве ключа…но это не работает…пожалуйста, помогите
Комментарии:
1. var myarr=[]; и myarr[id]= сообщение;
2. Спасибо giys…it сработанные фигурные скобки с моим arr были опечаткой
Ответ №1:
Синтаксис:
Объявление myarr:
myarr = {};
Добавление элемента:
myarr[id] = msg;
Комментарии:
1. Можете ли вы сказать мне, как его отсортировать … на основе идентификатора, который является строкой, а не int??
2. @abbas: Вы не можете сортировать свойства объекта, они неупорядочены. Я предлагаю вам прочитать руководство по MDN JavaScript и ознакомиться с разницей между массивами и объектами.
Ответ №2:
JavaScript — это не Java.
Следующая функция создаст массив, состоящий из объектов.
var myarr = []; //Or: var myarr = {};
function myfunction(id, msg) {
var obj = {}; //Create object
obj[id] = msg; //Set property with key=id, with value=msg
myarr.push(obj); //Use `push` method of the array to insert object in an array
}
Если вы хотите создать отдельный объект и задать свойства, используя key=id и value=msg, используйте:
var myarr = {};
function myfunction(id, msg){
myarr[id] = msg;
}
Ответ №3:
Я думаю, ты имеешь в виду:
function myfunction(id,msg)
{
myarr[id] = msg;
}
Ответ №4:
Во-первых, вы не включили скобки []
при объявлении переменной как массива или объекта в JavaScript.
var myarr = new Object();
Во-вторых, вам нужно настроить свои назначения:
myarr[id] = msg;
Ответ №5:
Вы неправильно понимаете, как создавать ассоциативные массивы. Вот jsfiddle с правильной функциональностью.