Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добавление элемента в массив (https://javascript.ru/forum/misc/29636-dobavlenie-ehlementa-v-massiv.html)

Dorian_bs 05.07.2012 18:00

Добавление элемента в массив
 
Всем привет!
Помогите разобраться в написании скрипта!
Суть в том, что необходимо создать массив, в котором будет находиться подмассив с набором определенных элементов.

Вот пример:
var arr = [];
arr["dakota"] = ['test', 'test2', 'test3'];
console.log(arr.dakota);


Данный код запишет 3 элемента "'test', 'test2', 'test3'" по адресу "arr.dakota".

Все хорошо, но не могу разобраться, как добавлять новые элементы, скажем "test4" в "arr.dakota". Делал через push, но не получилось.

var arr = [];
arr["dakota"] = ['test', 'test2', 'test3'];
arr.dakota.push('test4');
console.log(arr.dakota);


Помогите пожалуйста!
Заранее спасибо!)

oneguy 05.07.2012 18:06

Странно. У меня этот код работает:
var arr = [];
arr["dakota"] = ['test', 'test2', 'test3'];
arr.dakota.push('test4');
alert(arr.dakota); //test,test2,test3,test4

Попробуйте запустить отсюда. Если не работает, то скажите, какой у вас браузер.

bes 05.07.2012 22:16

Да, пример рабочий, только, исходя из этой фразы
Цитата:

Сообщение от Dorian_bs
Суть в том, что необходимо создать массив, в котором будет находиться подмассив с набором определенных элементов.

не совсем понятно, что требуется сделать: подмассив как элемент-массив исходного массива, или подмассив как свойство-массив исходного массива (я бы подумал на первое).

asmprog 15.02.2013 12:46

<!DOCTYPE html>
<script type="text/javascript" src="jquery1-9.min.js"></script>
<html>



<body>

<p id="demo">Click the button to sort the array.


<div class="inline">13</div>
<div class="inline">1.56</div>
<div class="inline">12.45</div>
<div class="inline">4</div> </p>



<p id="demo"></p>

<button onclick="myFunction()">Try it</button>
<script>


var myArray = [];
myArray.push($('div').text().toString())

alert(myArray)


</script>

</html>

Уважаемые ГУРУ, подскажите пожайлуста, как воткнуть в массив после числа КОМУ-разделитель ,чтоб в алерте стало 13,1.56, 12.45, ??? А то оно сваливается все вкучу 131.5612.45, ... Циклом кому добавлять ?

danik.js 15.02.2013 13:01

Цитата:

Сообщение от asmprog
Циклом кому добавлять

Скорее всего - да.

asmprog 15.02.2013 13:13

Ух! Живой человек!!! Спасибо ,друг! ...Уже получилось. Сделал с for и join(',')

asmprog 15.02.2013 13:14

..

ksa 15.02.2013 14:43

Цитата:

Сообщение от asmprog
как воткнуть в массив после числа

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
</script>
</head>
<body>
<div class="inline">13</div>
<div class="inline">1.56</div>
<div class="inline">12.45</div>
<div class="inline">4</div> 
<script>
var myArray = [];
$('div').each(function (i){
	myArray[i]=$(this).text();
});
alert(myArray);
</script>
</body>
</html>

asmprog 16.02.2013 20:28

Здравствуйте! Помогите пожайлуста вывести циклом ТОЛЬКО значения после двоеточияв другой массив или алерт из такого массива: arr=[AS:a2, BS:b2,CD:c2]. Не знаю как отлавливать индекс из такого массива

danik.js 16.02.2013 20:39

Цитата:

Сообщение от asmprog
Здравствуйте! Помогите пожайлуста вывести циклом ТОЛЬКО значения после двоеточияв другой массив или алерт из такого массива: arr=[AS:a2, BS:b2,CD:c2]. Не знаю как отлавливать индекс из такого массива

Это не массив, а объект, и синтаксис другой:
var object = {AS:'a2', BS:'b2', CD:'c2'};
var array = [];

for (var property in object) {
    array.push(object[property]);
}

alert(array);


Часовой пояс GMT +3, время: 05:01.