添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
谈吐大方的消炎药  ·  视频·  9 月前    · 
胡子拉碴的凉面  ·  基于Python+Open ...·  1 年前    · 
{ id: 1, product_id: 1, pid_name: "Asia", name: "HKG01" }, { id: 2, product_id: 1, pid_name: "Asia", name: "SH01" }, { id: 3, product_id: 2, pid_name: "Europe", name: "NY04" }, { id: 4, product_id: 2, pid_name: "Europe", name: "HK02" }, { id: 5, product_id: 2, pid_name: "Europe", name: "HK10" }, { id: 6, product_id: 1, pid_name: "Asia", name: "HKG05" }

前端展示时需要归类展示 ,因此需要构造 类似[{parent: "xx", child: [{xx},{xx}]}] 这样的数据

// 前端处理后的结构
        parent: "Asia",
        child: [
            { id: 1, product_id: 1, pid_name: "Asia", name: "HKG01" },
            { id: 2, product_id: 1, pid_name: "Asia", name: "SH01" },
            { id: 5, product_id: 1, pid_name: "Asia", name: "HKG05" }
        parent: "Europe", 
        child: [
            { id: 3, product_id: 2, pid_name: "Europe", name: "NY04" },
            { id: 4, product_id: 2, pid_name: "Europe", name: "HK02" },
            { id: 4, product_id: 2, pid_name: "Europe", name: "HK10" }

合并数组对象中key相同的数据

构造 [ { parent: "xx", child: [ { xx }, { xx } ] } ] ,需要传入数据源,匹配合并的键

type MergeByKeyParam<T> = {
	dataSource: Array<T>; // 数据源
	key: string; // 匹配的键
	prop: string; // 匹配的键名
type MergeByKeyResult<T> = {
	parent: string;
	child: Array<T>;
export const mergeByKey = <T>({ dataSource, key, prop }: MergeByKeyParam<T>): Array<MergeByKeyResult<T>> => {
	const dataObj = {};
	for (const item of dataSource) {
		if (!dataObj[item[key]]) {
			dataObj[item[key]] = {
				parent: item[prop],
				child: []
		dataObj[item[key]].child.push(item);
	return Object.values(dataObj);
const showRegionList = (regionArr: ICoupon.AvailabilityZone[]) => {
	return mergeByKey<ICoupon.AvailabilityZone>({ dataSource: regionArr, key: "pid", prop: "pid_name" });

最终的展示

~~ END ~~

构造 [ { parent: "xx", child: [ { xx }, { xx } ] } ] ,需要传入数据源,匹配合并的键。前端展示时需要归类展示 ,因此需要构造 类似[{parent: "xx", child: [{xx},{xx}]}] 这样的数据。在平常的业务中,后端同学会返回以下类似的结构数据。
Typescript 将动态类型语言的JavaScript变为了静态类型语言。主要是使用了一个tsc编译器。 在终端使用tsc命令可以将ts文件转化为相应的js文件 tsc xxx.ts 原始数据类型和Any类型 ES有7种原始类型和一个Object TS的Any类型允许赋值为任何类型 数组和元组 TS这里的数组是对元素的类型进行了约束的,类型写在[]前。 let arrNum:number[] = [1,2,3] 这里需要注意的是,伪数组都是有自己特定的类型的 那么在TS如何将不同
转换命令: ffmpeg -i "20090401010.mp4" -y -ab 32 -ar 22050 -qscale 10 -s 640*480 -r 15 /opt/a.flv -i 是 要转换文件名 -y是 覆盖输出文件 -ab 是 音频数据流,大家在百度听歌的时候应该都可以看到 128 64 -ar 是 声音的频率 22050 基本都是这个。 -qscale 是视频输出质量,后边的值越小质量越高,但是输出文件就越“肥” -s 是输出 文件的尺寸大小! -r 是 播放侦数。 m3u8自动下载带key合并ts教程在资源内
加密后的ts文件不能直接合并或播放,需要使用key对每个ts文件进行解密。 分为两种情况: (1).如果ts文件已经全部下载好,则可以直接在本地通过ffmpeg快速解密合并。 (2).如果ts文件没有下载好,则可以通过vlc直接下载整个视频,或者通过ffmpeg下载并转换。 无论是哪种情况,都要去视频源地址下载m3u8文件。如果可以下载key(有些网站加密方式比较严谨,不那么容易获取到key),把...