Originariamente inviato da Kreatore
Ti ringrazio.

Io però ho specificato si trattava di Jquery.

Non penso possa definire la variabile $ in quando il tutto è all'interno di una funzione:
Non importa se parliamo di jquery, mootools o qualche altra libreria dato che il punto è come accedere ad un object. Ho definito $ a oggetto vuoto per semplicità. Inoltre, se dai uno sguardo più attento, stiamo utilizzando la proprietà "Valori" di $, quindi possiamo anche disinteressarci di $ in se per se. Nel nostro primo esempio non faceva differenza se esso era object o function.

codice:
(function($) {

  $.Valori = {
primo:{
'a':'lettera A',
'b': 'lettera B',
'c':'lettera C'
}
secondo:{
a:    [ '1a', '1b','1c' ],
b:    [ '2a', '2b','2c' ],
c:    [ '3a', '3b','3c' ]
}
$.fn.extend({
    forletter: function(settings) {
     this.defaults = {
       lettere = ["a","b","c"]
     }
     var settings = $.extend(this.defaults, settings);
     var lettere= settings.lettere;
     for (var i in lettere) {
      var let= $.Valori.secondo[lettere[i]];
      alert ( let[0]);
     }
   }
 });
Probabilmente è perchè non riesco ad accedere a Textile con degli indici numerici:

$.Valori.secondo[1] che dovrebbe ottenere come valore b: [ '2a', '2b','2c' ], in realtà risulta undefined mentre se provo con $.Valori.secondo['b'] ottendo il corretto valore.
$.Valori.secondo è un object. Come dicevo nel primo post puoi vederlo come un array associativo. Il set delle chiavi di "secondo" è {a, b, c}. il valore "1" non fa parte delle chiavi della mappa quindi il valore associato a "1" è undefined. L'accesso agli array associativi in generale non è posizionale ma per chiave.

Codice PHP:
var = { "ciao""b" "hello""salut" };

console.log(x[1]); // salut
console.log(x[0]); // undefined 
Allo stesso modo, se accedo con $.Valori.secondo.b ottendo il risultato ma se accedo con $.Valori.secondo.tags[i] mi ritrovo con un undefined.

Quindi probabilmente sbaglio ad accedere.
$.Valori.secondo.b e $.Valori.secondo["b"] sono equivalenti quindi ottieni lo stesso comportamento che hai descritto più su.

Ricapitolando, se ho un oggetto fatto così
Codice PHP:
$.Valori = {
    
primo:{
        
'a':'lettera A',
        
'b''lettera B',
        
'c':'lettera C'
    
},
    
secondo:{
        
a:    [ '1a''1b','1c' ],
        
b:    [ '2a''2b','2c' ],
        
c:    [ '3a''3b','3c' ]
    }
}; 
e voglio ottenere il valore "2b", faccio

Codice PHP:
$.Valori.secondo.b[1
che, seguendo gli accessi step by step, vuol dire

codice:
$ - faccio riferimento all'object "4"
$.Valori - faccio riferimento alla proprietà "Valori" di "$", che è un object
$.Valori.secondo - faccio riferimento alla proprietà "secondo" di "$.Valori", che è un object
$.Valori.secondo.b - faccio riferimento alla proprietà "b" di "$.Valori.secondo", che è un array
$.Valori.secondo.b[1] - accedo all'indice 1 dell'array "$.Valori.secondo.b[1]"