Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON,数组推送函数不适用于由变量定义的键_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript JSON,数组推送函数不适用于由变量定义的键

Javascript JSON,数组推送函数不适用于由变量定义的键,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我的想法是将html数据从具有contenteditable和data type属性的div获取到json或数组。 这就是我所做的 我希望获得具有相同数据类型属性的所有元素,如下所示: data = { 'title': [{content: 'Value'}], 'content': [{content: 'Value'},{content: 'Value'}] } 但我在使用推送功能时卡住了。有人能给我一个主意吗?使用Array.prototype.push将元素附加到数组中,而不是任何旧

我的想法是将html数据从具有contenteditable和data type属性的div获取到json或数组。 这就是我所做的

我希望获得具有相同数据类型属性的所有元素,如下所示:

data = {
'title': [{content: 'Value'}],
'content': [{content: 'Value'},{content: 'Value'}]
}

但我在使用推送功能时卡住了。有人能给我一个主意吗?

使用
Array.prototype.push
将元素附加到数组中,而不是任何旧对象

例如,在示例中的对象中

data = {
    'title': [{content: 'Value'}],
    'content': [{content: 'Value'},{content: 'Value'}]
}
。。。您有两个阵列:

data.title
data.content
要将新对象推送到
data.title
的末尾,可以执行以下操作:

data.content.push({Content: 'Value'});
现在,您的原始
数据
对象如下所示:

{
    'title': [{content: 'Value'}],
    'content': [{content: 'Value'},{content: 'Value'},{content: 'Value'}]
}

数据
数组
更改为
对象
,并将
标题
内容
属性添加为
数组
,如下所示

var data = {}, i = 1;

$('#get').on('click',function(){
    data = {
        title: [],
        content: []
    };

    $.each($('div[contenteditable="true"]'),function(id, value){
        var key = $(this).data('key'), 
            html = $(this).html();

        data[key].push({content: html});
        i++;
    });

    console.log(data);
});

数组数据是我最终需要的,但我的方式请查看JSFIDLE