亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將逗號分隔的數據類型轉換為json有效源

將逗號分隔的數據類型轉換為json有效源

陪伴而非守候 2022-05-26 14:01:39
我有喜歡的數據屬性:data-columns = "title,dateaquired,genre,num_discs, etc etc - it can be any number of fields 試圖將json轉換為此[            { data: "title" },            { data: "dateacquired" },            { data: "genre" },            { data: "num_discs" },            { data: "esrb_rating" },            { data: "publisher" },            { data: "platform" },            { data: "seriesname" },            { data: "delete" }        ]并且還嘗試這樣做:在上面的數據中是static值,在底部,嘗試使用column它。data: {                title: $("#title").val(),                dateacquired: $("#dateacquired").val(),                genre: $("#genre").val(),                num_discs: $("#num_discs").val(),                esrb_rating: $("#esrb_rating").val(),                publisher: $("#publisher").val(),                platform: $("#platform").val(),                seriesname: $("#seriesname").val()            }
查看完整描述

3 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

我假設你想得到這個輸出


data: {

            title: $("#title").val(),

            dateacquired: $("#dateacquired").val(),

            genre: $("#genre").val(),

            num_discs: $("#num_discs").val(),

            esrb_rating: $("#esrb_rating").val(),

            publisher: $("#publisher").val(),

            platform: $("#platform").val(),

            seriesname: $("#seriesname").val()

        }

從數據列。假設您有數據列并分配了它


let datacolumns=$(#myid).attr('data-columns')

檢查以下代碼片段


let datacolumns="title,dateacquired,genre,num_discs,esrb_rating, publisher,platform,seriesname,delete";

 let data={};

 let arr=[];

 datacolumns.split(",").forEach((element)=>{

    //using trim in case there is space

    arr.push({

    data:element.trim()

    })

    data[element]=`$(#).val()`;//for displaying purpose

   //uncomment below line to work

   //data[element]=$(`#${element.trim(0}`).val()`

 })


 console.log(data);

 console.log(arr);

.as-console-wrapper { max-height: 100% !important; top: 0; }


查看完整回答
反對 回復 2022-05-26
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

假設您在數據屬性中有以下值。首先,您必須通過 id 獲取它,然后添加一個 split 方法以用逗號拆分字符串。然后您可以使用它們來創建對象格式。


<p  id="myid" data-columns = "title,dateaquired,genre,num_discs, etc etc - it can be any number of fields"></p>


let commaSplited = $(#myid).attr('data-columns').split(',');

現在您可以通過這種方式創建所需結構的對象。索引將取決于逗號分隔值的位置。


let obj = [

      data: {

         title: commaSplited [0],

         dateacquired: commaSplited[1] ,

         genre: commaSplited[2],

         num_discs: commaSplited[3],

         esrb_rating: commaSplited[4],

         publisher: commaSplited[5],

         platform: commaSplited[6],

         seriesname: commaSplited[7]

      }

];


查看完整回答
反對 回復 2022-05-26
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

使用 Data-* 屬性

  1. 在屬性字符串上拆分

  2. 遍歷屬性并查找 HTML 元素的值

  3. 為對象賦值

在這種情況下,步驟 2 和 3 通過以下reduce函數處理:

let data = target.dataset.columns.split(',').reduce((obj, key)=>{

  let el = document.querySelector('#'+key)

  obj.data[key] = el && el.value  || ''

  return obj;

}, { data: {} });


console.log(data)

<div id="target" data-columns="title,dateacquired,genre,num_discs"></div>


<input type="hidden" id="title" value="Top Gun" />

<input type="hidden" id="dateacquired" value="1989" />

<input type="hidden" id="genre" value="Homoerotic Dramatic Comedy" />

<input type="hidden" id="num_discs" value="1" />


或者


let arr = target.dataset.columns.split(',').map(key=>({ data: key }));


console.log(arr)

<div id="target" data-columns="title,dateacquired,genre,num_discs"></div>


查看完整回答
反對 回復 2022-05-26
  • 3 回答
  • 0 關注
  • 396 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號