簡體   English   中英

使用另一個包含鍵的數組中的值過濾json響應

[英]Filter json response using values from another array containing keys

我正在嘗試使用不同數組中包含的鍵值從JSON響應中獲取值。 我的代碼如下,但是當我嘗試記錄結果時卻變得不確定。

let fdName =["SerialNo","denDate","denShift","denTime","denWs_1","denWs_2","denVol_1","denVol_2","denPwdrMix"];

let dtValue = [{
id: 1,
SerialNo: 1,
denDate: "2019-09-09",
denShift: "Day",
denTime: "10:32:00",
denWs_1: 10.23,
denWs_2: 11.2,
denVol_1: 12.5,
denVol_2: 10.12,
denPwdrMix: 0.75,
created_at: null,
updated_at: null
}];

var savedData = fdName.map(function(e) {
    var filteredRes = dtValue.find(a => a[key] == e);
return filteredRes ;});

console.log(savedData);

預期結果: [1, 2019-09-09, Day, 10:32:00, 10:23, 11.2, 12.5, 10.12, 0.75]; : [1, 2019-09-09, Day, 10:32:00, 10:23, 11.2, 12.5, 10.12, 0.75]; : [1, 2019-09-09, Day, 10:32:00, 10:23, 11.2, 12.5, 10.12, 0.75]; : [1, 2019-09-09, Day, 10:32:00, 10:23, 11.2, 12.5, 10.12, 0.75];

我想在使用v-for的表格中顯示獲得的結果,如下所示

<tbody>
 <tr>
  <td
    v-for="(dtValue, sdtValue ) in savedData "
     :key="sdtValue"
      >     
       {{dtValue}}
 </td>
  </tr>
 </tbody>

如果要基於fdName進行映射,則需要2循環來呈現結果。

 let fdName =["SerialNo","denDate","denShift","denTime","denWs_1","denWs_2","denVol_1","denVol_2","denPwdrMix"]; let dtValue = [{ id: 1, SerialNo: 1, denDate: "2019-09-09", denShift: "Day", denTime: "10:32:00", denWs_1: 10.23, denWs_2: 11.2, denVol_1: 12.5, denVol_2: 10.12, denPwdrMix: 0.75, created_at: null, updated_at: null }]; var savedData = dtValue.map((e) => fdName.map(key => e[key])); console.log(savedData); 

然后該表將是:

<tbody>
  <tr v-for="data in savedData">
    <td v-for="value in data">     
      {{value}}
    </td>
  </tr>
</tbody>

您可以在沒有地圖的情況下進行渲染,然后只需要一個循環,但需要列出所有字段。 例:

<tbody>
  <tr v-for="data in dtValue">
    <td>{{data[key1]}}</td>
    <td>{{data[key2]}}</td>
    <td>{{data[key3]}}</td>
    <td>{{data[key4]}}</td>
    <td>{{data[key5]}}</td>
  </tr>
</tbody>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM