国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uni-app:對數(shù)組對象進(jìn)行以具體某一項的分類處理

這篇具有很好參考價值的文章主要介紹了uni-app:對數(shù)組對象進(jìn)行以具體某一項的分類處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?一、原始數(shù)據(jù)

這里定義為五個數(shù)組,種類product有aaa,bbb兩種

原始數(shù)據(jù)在data中進(jìn)行定義

res: {
	"success": true,
	"devices": [{
			no: 0,
			product: 'aaa',
			alias: "設(shè)備1",
			assign: [
				["a1", "a2", "a3"],
				["a11", "a22", "a33"],
				["a111", "a222", "a333"]
			]
		},
		{
			no: 1,
			product: 'bbb',
			alias: "設(shè)備2",
			assign: [
				["b1", "b2", "b3"],
				["b11", "b22", "b33"],
				["b111", "b222", "b333"],
				["b1111", "b2222", "b3333"]
			]
		},
		{
			no: 2,
			product: 'aaa',
			alias: "設(shè)備3",
			assign: [
				["a1", "a2", "a3"],
				["a111", "a222", "a333"],
				["a11", "b22", "c33"]
			]
		},
		{
			no: 3,
			product: 'aaa',
			alias: "設(shè)備4",
			assign: [
				["a11", "b22", "c33"],
				["a1", "a2", "a3"],
				["a111", "a222", "a333"]

			]
		},
		{
			no: 4,
			product: 'bbb',
			alias: "設(shè)備5",
			assign: [
				["b111", "b222", "b333"],
				["b1", "b2", "b3"],
				["b11", "b22", "b33"],
				["b1111", "b2222", "b3333"]

			]
		},
	]
},

uni-app:對數(shù)組對象進(jìn)行以具體某一項的分類處理,uni-app,uni-app

二、分類處理數(shù)據(jù)

注:使用了數(shù)組的 reduce() 方法來對 devices 數(shù)組進(jìn)行循環(huán)遍歷,并根據(jù)每個設(shè)備對象中的 product 值將其分類到一個以 product 為名稱的數(shù)組中。

  • reduce() 方法接收一個回調(diào)函數(shù)和一個初始值作為參數(shù)。在這里,初始值是一個空對象 {}

  • 回調(diào)函數(shù)有兩個參數(shù):累加器(acc)和當(dāng)前迭代的元素(device)。

  • 在每次迭代中,獲取當(dāng)前設(shè)備對象的 product 值并保存在變量 product 中。

  • 接下來,通過檢查累加器對象 acc 中是否存在以 product 值為名稱的屬性,來判斷是否已經(jīng)有與該 product 對應(yīng)的數(shù)組。

  • 如果不存在,則創(chuàng)建一個新的空數(shù)組,并將其添加為累加器對象 acc 的屬性之一,使用 product 值作為屬性名。

  • 然后,將當(dāng)前的設(shè)備對象 device 添加到對應(yīng)的 product 數(shù)組中,使用 push() 方法將設(shè)備對象推入數(shù)組中。

  • 最后,在每次迭代結(jié)束時,返回累加器對象 acc,以便在下一次迭代中使用。

  • 當(dāng)所有元素都被迭代完畢后,reduce() 方法將返回最終累加器對象 acc,其中包含了以 product 值為名稱的數(shù)組。

//根據(jù)product的名稱進(jìn)行分類處理
const devices = this.res.devices;
const result = devices.reduce((acc, device) => {
	const product = device.product;			
	// 檢查結(jié)果中是否已存在相同 product 的數(shù)組,如果不存在則創(chuàng)建一個新數(shù)組
	if (!acc[product]) {
		acc[product] = [];
	}			
	// 將當(dāng)前設(shè)備對象添加到對應(yīng)的 product 數(shù)組中
	acc[product].push(device);			
	return acc;
}, {});		

uni-app:對數(shù)組對象進(jìn)行以具體某一項的分類處理,uni-app,uni-app?文章來源地址http://www.zghlxwxcb.cn/news/detail-723949.html

三、完整代碼

<template>
	<view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				res: {
					"success": true,
					"devices": [{
							no: 0,
							product: 'aaa',
							alias: "設(shè)備1",
							assign: [
								["a1", "a2", "a3"],
								["a11", "a22", "a33"],
								["a111", "a222", "a333"]
							]
						},
						{
							no: 1,
							product: 'bbb',
							alias: "設(shè)備2",
							assign: [
								["b1", "b2", "b3"],
								["b11", "b22", "b33"],
								["b111", "b222", "b333"],
								["b1111", "b2222", "b3333"]
							]
						},
						{
							no: 2,
							product: 'aaa',
							alias: "設(shè)備3",
							assign: [
								["a1", "a2", "a3"],
								["a111", "a222", "a333"],
								["a11", "b22", "c33"]
							]
						},
						{
							no: 3,
							product: 'aaa',
							alias: "設(shè)備4",
							assign: [
								["a11", "b22", "c33"],
								["a1", "a2", "a3"],
								["a111", "a222", "a333"]

							]
						},
						{
							no: 4,
							product: 'bbb',
							alias: "設(shè)備5",
							assign: [
								["b111", "b222", "b333"],
								["b1", "b2", "b3"],
								["b11", "b22", "b33"],
								["b1111", "b2222", "b3333"]

							]
						},
					]
				},
				
			}
		},
		methods: {

		},
		onLoad() {
			console.log('初始數(shù)據(jù)')
			console.log(this.res.devices)
			//根據(jù)product的名稱進(jìn)行分類處理
			const devices = this.res.devices;
			const result = devices.reduce((acc, device) => {
				const product = device.product;			
				// 檢查結(jié)果中是否已存在相同 product 的數(shù)組,如果不存在則創(chuàng)建一個新數(shù)組
				if (!acc[product]) {
					acc[product] = [];
				}			
				// 將當(dāng)前設(shè)備對象添加到對應(yīng)的 product 數(shù)組中
				acc[product].push(device);			
				return acc;
			}, {});		
			console.log('分類后的數(shù)據(jù)')
			console.log(result);
		}
	};
</script>
<style>

</style>

到了這里,關(guān)于uni-app:對數(shù)組對象進(jìn)行以具體某一項的分類處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • uni-app——使用uni.navigateTo傳遞對象參數(shù)

    文章目錄 一、 傳遞一般參數(shù) 二、 傳遞對象參數(shù) 1. 傳遞參數(shù) 2. 接收參數(shù) navigateTo進(jìn)行頁面?zhèn)鬟f參數(shù),在下一個頁面接收數(shù)據(jù),一般在在onLoad鉤子函數(shù)中獲取

    2024年02月13日
    瀏覽(29)
  • uni-app開發(fā)微信小程序,wx.getPrivacySetting,wx.openPrivacyContract,wx.onNeedPrivacyAuthorization,隱私彈窗使用具體代碼

    ?彈窗 代碼插件已集成,即插即用, 五分鐘集成進(jìn)項目, 免費下載 ,歡迎大家交流 ?微信小程序用戶隱私保護(hù)協(xié)議彈窗插件下載 首先完成組件的界面,創(chuàng)建一個組件文件夾 component ,然后創(chuàng)建一個 privacy 子文件夾,再創(chuàng)建一個 privacy 組件,組件是一個 全屏蒙版 加居中彈窗,彈窗

    2024年02月09日
    瀏覽(33)
  • uni-app返回上一個頁面并進(jìn)行頁面刷新

    uni-app返回上一個頁面并進(jìn)行頁面刷新

    適用兩個不同的頁面跳轉(zhuǎn),返回上一個頁面保存并刷新修改后的數(shù)據(jù)(也解決了uni-app的navigateBack返回不刷新的方法之一) 當(dāng)前頁: 上一頁: 思路: 1、用getCurrentPages()獲取打開的頁面 2、保存當(dāng)前頁面和上一個頁面 提示:不確定是不是從當(dāng)前頁跳轉(zhuǎn)到上一頁就console.log(pages[pa

    2024年02月12日
    瀏覽(25)
  • uni-app 使用uCharts-進(jìn)行圖表展示(折線圖帶單位)

    uni-app 使用uCharts-進(jìn)行圖表展示(折線圖帶單位)

    前言 在uni-app經(jīng)常是需要進(jìn)行數(shù)據(jù)展示,針對這個情況也是有人開發(fā)好了第三方包,來兼容不同平臺展示 uCharts和pc端的Echarts使用差不多,甚至?xí)杏X在uni-app使用uCharts更輕便,更舒服 但是這個第三方包有優(yōu)點就會有缺點,還會有坑的地方下面我會一一講解 uCharts使用-注意事項

    2024年02月09日
    瀏覽(17)
  • uni-app通過wifi連接設(shè)備并進(jìn)行命令交互

    前段時間公司讓做一個通過手機連接硬件設(shè)備上的wifi,實現(xiàn)手機app和硬件設(shè)備的數(shù)據(jù)通訊。當(dāng)時做的時候查相關(guān)資料比較少,擔(dān)心以后遇到相似需求忘記具體細(xì)節(jié),在這寫一下記錄一下。 一、具體情況 1. 手機連接設(shè)備wifi功能沒有通過app重新開發(fā),需要手動連接wifi。 2. 采用

    2024年02月12日
    瀏覽(91)
  • uni-app使用vue語法進(jìn)行開發(fā)注意事項

    uni-app使用vue語法進(jìn)行開發(fā)注意事項

    目錄 uni-app 項目目錄結(jié)構(gòu) 生命周期 路由 路由跳轉(zhuǎn) 頁面棧 條件編譯 文本渲染 樣式渲染 條件渲染 遍歷渲染 事件處理 事件修飾符 組件/標(biāo)簽 使用(類似)小程序 語法/結(jié)構(gòu) 使用vue 具體項目目錄如下: uni-app?支持如下應(yīng)用生命周期函數(shù): 函數(shù)名 說明 onLaunch 當(dāng) uni-app ?初始化

    2024年02月13日
    瀏覽(19)
  • 在uni-app使用vue3進(jìn)行store全局?jǐn)?shù)據(jù)共享

    在uni-app使用vue3進(jìn)行store全局?jǐn)?shù)據(jù)共享

    在uni-app中使用vue3進(jìn)行store的全局?jǐn)?shù)據(jù)共享,網(wǎng)上文章太雜了,記錄一下自己寫的一個最簡單易懂的例子,以供自己后面需要用到時候可以最直觀的知道到底怎么實現(xiàn) 在index.js中寫入代碼如下(示例): uni-app好像內(nèi)置vuex,不需要額外下載,如果記錯了的話就得先去下載好 代

    2024年02月09日
    瀏覽(36)
  • 關(guān)于uni-app中uni-forms表單驗證時“多級結(jié)構(gòu)對象數(shù)據(jù)”如何做數(shù)據(jù)校驗的解決方案

    關(guān)于uni-app中uni-forms表單驗證時“多級結(jié)構(gòu)對象數(shù)據(jù)”如何做數(shù)據(jù)校驗的解決方案

    這幾天在做uni-app表單驗證時遇到了一個問題,按官方文檔給出的方法,當(dāng)需要數(shù)據(jù)校驗時,只需要 1.為uni-forms中的\\\" modelValue \\\"數(shù)據(jù)設(shè)置“ :rules ”對應(yīng) 2.“ uni-forms-item ”的name和“ uni-easyinput ”中“v-model”中的key和“ rules ”中的key相同 就可以對該項“uni-easyinput”做數(shù)據(jù)校驗

    2023年04月09日
    瀏覽(145)
  • uni-app---- 點擊按鈕撥打電話功能&&點擊按鈕調(diào)用高德地圖進(jìn)行導(dǎo)航的功能【安卓app端】

    uni-app---- 點擊按鈕撥打電話功能&&點擊按鈕調(diào)用高德地圖進(jìn)行導(dǎo)航的功能【安卓app端】

    先上效果圖: 1. 在封裝方法的文件夾下新建一個js文件,然后把這些功能進(jìn)行封裝 2.在需要的頁面中進(jìn)行調(diào)用 注意點: 1. 撥打電話需要進(jìn)行app權(quán)限配置,設(shè)置完成后可以在正式版看到效果。(這幾個最好都勾選上) 2. 配置高德地圖的app模塊設(shè)置,這里的appkey需要到高德地圖

    2024年02月05日
    瀏覽(101)
  • 使用 v-for 指令和數(shù)組來實現(xiàn)在 Uni-app 中動態(tài)增減表單項并渲染多個數(shù)據(jù)

    在 data 中定義一個數(shù)組,用于存儲表單項的數(shù)據(jù): 在模板中使用 v-for 指令渲染表單項: 在 methods 中定義添加和刪除表單項的方法: 這樣,每點擊一次 “添加表單項” 按鈕,就會新增一個表單項,并且你可以通過輸入框的 v-model 來動態(tài)修改表單項的值。點擊對應(yīng)的 “刪除”

    2024年02月10日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包