|
|
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
Собственно возник вопрос т.к. concat неработает см. код: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 14:40 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
в яваскрипте нет ассоциативных массивов. их роль выполняет Object. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 15:25 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
Frenzy, сам-то понял, что сказал и сделал? - Попробуй запустить то, что написал :) Для javascript "массив == ассоциативный массив", так что как ни назови - все правильно. Просто использование функции concat немного неправильное в приведенном примере. Из перевода: "Метод concat объединяет массив и массив1 в новый массив и возвращает его. При этом все элементы массива массив1 добавляются в конец массива." Соответственно, надо делать Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 15:40 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, собственно, встречный вопрос и предложение: сам-то понял, что сказал и сделал? - Попробуй запустить то, что написал :) ассоциативный массив != массив. Ассоциативный массив == объект. В изначальном примере создается три пустых массива с некими свойствами 'ooo','ppp',... Соответственно и concat, склеив три пустых массива, вернет пустой массив, т.к. на свойства объекта власть конката не распространяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 17:02 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
IDVsbruckFrenzy, сам-то понял, что сказал и сделал? - Попробуй запустить то, что написал :) Для javascript "массив == ассоциативный массив", так что как ни назови - все правильно. Просто использование функции concat немного неправильное в приведенном примере. Из перевода: "Метод concat объединяет массив и массив1 в новый массив и возвращает его. При этом все элементы массива массив1 добавляются в конец массива." Соответственно, надо делать Код: plaintext я то пробую запускать - мой пример работает. а вот вы не пробуете - попробуйте сделайте такой конкат, а потом обратитесь к какому-нибудь новому ключу - удивитесь, получив "undefined". "массив" в яваскрипте не может выступать в роли "ассоциативного массива". единственная причина, по которой присваивание типа arr['asd'] = 'asd'; проходит без ошибки - это то, что массив в яваскрипте - тоже объект. но на такие ключи ни concat, ни for...in работать не будут. а вот объект ведёт себя именно как "ассоциативный массив" или "хэш" из других языков. так что читайте документацию и не ставьте себя в глупое положение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 17:16 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
долго писал, собсно illion уже всё это сказала _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 17:17 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
Frenzy, illion - спасибо. Вот что у меня в итоге получилось: Код: plaintext 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. Как мой вариант в плане производительности? Нелюблю я всякие фреймворки тупеешь с ними :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 18:27 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
Frenzy, мои глубокие извинения ... не то и не с тем смешал. Погорячился. NT Man, все нормально, для более оптимального варианта в плане производительности можно кое-что поменять (правда, видно будет только при больших массивах): Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2009, 23:00 |
|
||
|
(JavaScript) поделитесь опытом склеивания ассоциативных массивов
|
|||
|---|---|---|---|
|
#18+
IDVsbruck , не то у тебя получилось, ты делаешь простой массив, теряя при этом все ключи. Вот мой более правильный м рабочий вариант. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2009, 15:46 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35789682&tid=1455213]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 467ms |

| 0 / 0 |
