ArkTs中如何合并两个Record - HarmonyOS 鸿蒙Next
ArkTs中如何合并两个Record - HarmonyOS 鸿蒙Next 如下代码,在ArkTs中会报错
function mergeRecord(){
let r1:Record<string,string> ={"a":"1"}
let r2:Record<string,string> ={"b":"2"}
return {...r1,...r2}
}
4 回复
若需要在ets文件中扩展对象属性或合并两个对象时,可以自行实现assign方法,参考代码如下:
function assign(target: Record<string, Object>, ...source: Object[]): Record<string, Object> {
for (const items of source) {
for (const key of Object.keys(items)) {
target[key] = Reflect.get(items, key)
}
}
console.log('test', JSON.stringify(target))
return target;
}
function mergeRecord(): Record<string, Object> {
let r1:Record<string,string> ={"a":"1"}
let r2:Record<string,string> ={"b":"2"}
return this.assign(r2, r1)
}
更多关于ArkTs中如何合并两个Record - HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
function mergeRecord(): Record<string, string> {
let r1: Record<string, string> = { "a": "1" };
let r2: Record<string, string> = { "b": "2" };
return { ...r1, ...r2 };
}
在ArkTS中,Record
类型用于表示键值对的集合。要合并两个Record
对象,可以使用Object.assign()
方法或者展开运算符{...}
。以下是两种方法的示例:
- 使用
Object.assign()
方法:
const record1: Record<string, number> = { a: 1, b: 2 };
const record2: Record<string, number> = { c: 3, d: 4 };
const mergedRecord = Object.assign({}, record1, record2);
// mergedRecord 结果为 { a: 1, b: 2, c: 3, d: 4 }
- 使用展开运算符
{...}
:
const record1: Record<string, number> = { a: 1, b: 2 };
const record2: Record<string, number> = { c: 3, d: 4 };
const mergedRecord = { ...record1, ...record2 };
// mergedRecord 结果为 { a: 1, b: 2, c: 3, d: 4 }
这两种方法都可以将两个Record
对象合并为一个新的Record
对象。如果两个Record
对象中有相同的键,后者会覆盖前者的值。