主頁 > 移動端開發 > JS-從一個物件,為某個鍵的每個值回傳一個物件

JS-從一個物件,為某個鍵的每個值回傳一個物件

2022-09-15 23:59:42 移動端開發

從這個物件:

{"a": "a", "b": "b", "c": [1,2,3]}

我想得到這個:

{"a": "a", "b": "b", "c":1}
{"a": "a", "b": "b", "c":2}
{"a": "a", "b": "b", "c":3}

我能怎么做?

uj5u.com熱心網友回復:

您可以map源物件和回呼項引數中獲取data.c和獲取。abcmap

const data = {"a": "a", "b": "b", "c": [1,2,3]}

const result = data.c.map(i => ({
  a: data.a,
  b: data.b,
  c: i,
}))


console.log(result)

uj5u.com熱心網友回復:

映射object[c]并回傳物件本身的副本 當前值:

let expand = (obj, key) => obj[key].map(val => ({...obj, [key]: val}))

test = {"a": "a", "b": "b", "c": [1,2,3]}
result = expand(test, 'c')
console.log(result)

uj5u.com熱心網友回復:

首先,您應該檢查是否obj[key]是一個陣列。如果是,繼續映射,否則只回傳物件

const transform = (obj, key) => {
  if (!Array.isArray(obj[key])) return obj

  return obj[key].map(val => ({ ...obj, [key]: val }))
}

console.log(transform({ a: "a", b: "b", c: "c" }, "c"))
console.log(transform({ a: "a", b: "b", c: [1, 2, 3] }, "c"))
console.log(transform({ a: "a", b: "b", d: [4, 5, 6] }, "d"))

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/508425.html

標籤:javascript 数组 目的

上一篇:型別錯誤:res.json不是函式。我已經提出了類似的問題,但似乎無法找到我的案例的答案

下一篇:返回列表

標籤雲
其他(144758) Python(37231) JavaScript(24853) Java(16400) C(14960) 區塊鏈(8236) C#(7952) AI(7469) 爪哇(7396) html(6770) MySQL(6705) 基礎類(6313) sql(6082) 熊猫(6051) PHP(5778) 数组(5738) R(5304) 反应(5177) Linux(5174) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4408) 数据框(4307) css(4249) 节点.js(4015) C語言(3288) json(3236) 列表(3119) C++語言(3117) 扑(3073) 安卓(2991) 打字稿(2957) VBA(2784) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2379) ASP.NET(2364) MongoDB(2316) 麻木的(2285) 正则表达式(2230) 字典(2211) 循环(2196) 擅长(2159) 迅速(2157) 镖(2147) 功能(1966) Web開發(1951) python-3.x(1912) 弹簧靴(1910) xml(1866) for循环(1841) 谷歌表格(1837) Unity3D(1823) PostgreSQL(1805) 網絡通信(1793) .NETCore(1787) .NET技术(1786) 蟒蛇-3.x(1774)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • JS-從一個物件,為某個鍵的每個值回傳一個物件

    從這個物件:{"a": "a", "b": "b", "c": [1,2,3]}我想得到這個:{"a": "a", "b": "b", "c":1}{"a": "a", "b": "b", &quo...

    uj5u.com 2022-09-15 23:59:42 more
  • 型別錯誤:res.json不是函式。我已經提出了類似的問題,但似乎無法找

    我試圖避免在這里問許多類似問題中的另一個,但我很難過。我在這里做一個錯誤跟蹤器。當我填寫表格并將其發送到服務器端時,它會得到處理并在我的資料庫等中創...

    uj5u.com 2022-09-15 23:58:44 more
  • 多詞搜索功能HTML串列過濾器

    我有一個使用 JavaScript 過濾 html 串列的搜索功能。默認情況下,所有串列項都是隱藏的,但如果用戶輸入了正確的關鍵字,則會顯示。目前,搜索只回傳與輸入完全匹...

    uj5u.com 2022-09-15 21:58:32 more
  • 圓形剪輯路徑

    我有一個圓形影像。我想剪掉它的頂部,如圖所示。是否可以使用剪輯路徑來做到這一點?謝謝。.circle { width: 75px; height: 75px; background-color: red;...

    uj5u.com 2022-09-15 21:56:49 more
  • 畫布畫線不出現

    我正在創建一個基于十六進制的地圖生成器,作為其中的一部分,我正在嘗試 - 在客戶端 - 繪制“河流”,穿過服務器端計算的六角形中心的線條有河流。這是相關的變...

    uj5u.com 2022-09-15 21:54:42 more
  • 將第一個元素設定為在加載時顯示,然后在單擊另一個React時隱藏

    我有一個團隊成員串列,每個團隊成員圖塊都有一個疊加層,單擊時會隱藏它以顯示它是活動的,并帶有一個相關的文本框來顯示有關它們的資訊。我正在努力了解如何制...

    uj5u.com 2022-09-15 21:52:31 more
  • 如何在filter()中使用forEach()過濾陣列-Javascript

    我有一個物件陣列,我想根據另一個陣列過濾它。如果filters物件值只有一個,我可以使用 only filter,但是如果物件中還有一個值filters,則什么也不顯示。所以forE...

    uj5u.com 2022-09-15 21:51:28 more
  • 需要幫助解壓縮tmp檔案并將其重寫到另一個路徑

    (我也需要幫助才能找到更好的標題,但我不知道如何制定它)我會有一些問題解釋我需要做什么,因為這很難。基本上我正在制作一個監控系統,我從 curl 命令獲取日志檔...

    uj5u.com 2022-09-15 17:22:11 more
  • 如何將帶有密鑰和證書的curl命令轉換為javaspringboot代碼

    我正在執行這個 curl 命令,它運行良好。 curl --tlsv1.2 -k -iv -X POST -H "Content-Type:text/xml" --key node-key.key --cert node.crt --data-raw 'PA...

    uj5u.com 2022-09-15 17:21:27 more
  • 為Kubernetes集群購買SSL證書

    我的服務(沒有入口)在亞馬遜 EKS 集群中運行,我被要求為使用服務中托管的 API 的第三方提供 CA 簽名證書。我曾嘗試使用certificates.k8s.io API 配置我的證書...

    uj5u.com 2022-09-15 13:08:07 more