jquery 将数据推送到JSON数组中

kdfy810k  于 2023-08-04  发布在  jQuery
关注(0)|答案(4)|浏览(103)

我正在制作一个Chrome应用程序,我想将歌曲的名称和艺术家保存到JSON文件中。我知道如何做到这一点,但我不知道如何输入数据(在这里:titleartist)到json数组中。我们分配:

var favorites = [];

字符串
因此,如果有人按下星星,艺术家和歌曲名称应放入favorites

$(document).on('click','.fa-star-o', function() {
    var title = $(this).parent().find('.tracktitle').text(),
        artist = $(this).parent().find('.artist').text();

    $(this)
        .removeClass('fa-star-o')
        .addClass('fa-star');
    $('<li/>')
        .append('<span class="tracktitle">'+ title +'</span>')
        .append('<span class="artist">'+ artist +'</span>')
        .prependTo($favorites);
});

zlhcx6iw

zlhcx6iw1#

你可以使用.push()将对象添加到数组中,如下所示:

//create object
var myObj = {
    "artist" : artist,    //your artist variable
    "song_name" : title   //your title variable
};
//push the object to your array
favorites.push( myObj );

字符串

ykejflvf

ykejflvf2#

我不知道最喜欢的格式。但是如果您需要的是JSON字符串,则可以使用JSON.stringify()来构造它。

myJString = JSON.stringify({artist: artist, title : title});

字符串

bejyjqdl

bejyjqdl3#

var myObj = {
    "artist" : $(this).parent().find('.artist').text();
    "song_name" : $(this).parent().find('.tracktitle').text()
};

$(document).on('click','.fa-star-o', function() {
    $(this).removeClass('fa-star-o').addClass('fa-star');
    favorites.push(myObj); //push the object to your array
});

字符串

zour9fqk

zour9fqk4#

我得到这个错误

error TS2339: Property 'push' does not exist on type '{}'.

字符串
在代码中

let controls = {};

controls = {
    key1: new FormControl({ value: 'value1', disabled: true }),
    key2: new FormControl({ value: 'value2', disabled: true }),
    ...
}

let key3FormControl : new FormControl({ value: 'value3', disabled: true })

controls.push(key3FormControl); //error 'push' does not exist on type '{}'


我甚至不应该使用push,而只是在JSON Object中添加一个新值,如下所示:

controls['key3'] = key3FormControl ;

相关问题