Estoy leyendo feed RSS y llevando el Título y el Enlace en una Matriz en la Jquery.

Lo que hice es

var arr = [];

            $.getJSON("displayjson.php",function(data){
                $.each(data.news, function(i,news){
                    var title = news.title;
                    var link = news.link;
                    arr.push({title : link});
                });                      
            });

Y estoy leyendo que la matriz de nuevo el uso de

$('#show').click(function(){
                $.each(arr, function(index, value){
                    alert( index +' : '+value);
                });
            });

Pero me da Salida como

1:[Object Object]
2:[Object Object]
3:[Object Object]

como este …

¿Cómo puedo obtener tanto azulejo y enlace como un par ( título como clave y el enlace como valor)

InformationsquelleAutor KillerFish | 2011-01-28

5 Comentarios

  1. 167

    Hay claves en los arrays en JavaScript. El uso de objetos para ese propósito.

    var obj = {};
    
    $.getJSON("displayjson.php",function (data) {
        $.each(data.news, function (i, news) {
            obj[news.title] = news.link;
        });                      
    });
    
    //later:
    $.each(obj, function (index, value) {
        alert( index + ' : ' + value );
    });

    En JavaScript, objetos de cumplir con el papel de matrices asociativas. Ser conscientes de que los objetos no tienen definida una «orden» cuando se itera ellos (ver más abajo).

    Sin embargo, En tu caso no es muy claro para mí por qué la transferencia de datos desde el objeto original (data.news) a todos. ¿Por qué no simplemente pasar una referencia a que objeto alrededor?


    Puede combinar objetos y matrices para lograr la predicción de la iteración y clave/valor comportamiento:

    var arr = [];
    
    $.getJSON("displayjson.php",function (data) {
        $.each(data.news, function (i, news) {
            arr.push({
                title: news.title, 
                link:  news.link
            });
        });                      
    });
    
    //later:
    $.each(arr, function (index, value) {
        alert( value.title + ' : ' + value.link );
    });
  2. 29

    Este código

    var title = news.title;
    var link = news.link;
    arr.push({title : link});

    no es hacer lo que usted piensa. Lo que se envía es un nuevo objeto con un solo miembro denominado «título» y con link como el valor … el real title valor no se utiliza.
    Para guardar un objeto con dos campos que tienen que hacer algo como

    arr.push({title:title, link:link});

    o con los recientes Javascript avances usted puede utilizar el acceso directo

    arr.push({title, link}); //Note: comma "," and not colon ":"

    La cosa más cercana a una de python tupla en su lugar sería

    arr.push([title, link]);

    Una vez que los objetos o las matrices en el arr matriz se puede obtener los valores como value.title y value.link o, en el caso de la empujó matriz de versión, como value[0], value[1].

  3. 17

    Creo que se necesitan para definir un objeto y, a continuación, empuje en la matriz de

    var obj = {};
    obj[name] = val;
    ary.push(obj);
  4. 13
    arr[title] = link;

    No estás empujando en la matriz, se está estableciendo el elemento con la clave title para el valor link. Como tal, su matriz debe ser un objeto.

  5. 2

    Que podría significar esto:

    var unEnumeratedArray = [];
    var wtfObject = {
                     key    : 'val', 
                     0      : (undefined = 'Look, I\'m defined'),
                     'new'  : 'keyword', 
                     '{!}'  : 'use bracket syntax',
                     '        ': '8 spaces'
                    };
    
    for(var key in wtfObject){
        unEnumeratedArray[key] = wtfObject[key];
    }
    console.log('HAS KEYS PER VALUE NOW:', unEnumeratedArray, unEnumeratedArray[0], 
                 unEnumeratedArray.key, unEnumeratedArray['new'], 
                 unEnumeratedArray['{!}'], unEnumeratedArray['        ']);

    Puede establecer un enumerable de un Objeto como: ({})[0] = 'txt'; y puede establecer una clave para una Matriz como: ([])['myKey'] = 'myVal';

    Espero que esta ayuda 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here