Lodash - 集合方法 _.groupBy 分组

对数据进行分组,返回一个对象

参数:

        参数1:collection(Array|Object)

        参数2:iteratee

示例1:

let arr1 = [6.1, 4.2, 6.3];
console.log(_.groupBy(arr1, Math.floor)); 
// 向下取整后分组=> { '4': [4.2], '6': [6.1, 6.3] }

        

示例2:

let arr2 = ["one", "two", "three"];
console.log(_.groupBy(arr2, "length")); 
// 根据长度分组=> { '3': ['one', 'two'], '5': ['three'] }

            

示例3:

 let arr3 = [
    { name: "amy", age: 18 },
    { name: "bob", age: 19 },
    { name: "candy", age: 20 },
    { name: "tom", age: 19 },
    { name: "jack", age: 18 },
];
console.log(_.groupBy(arr3, "age"));
// 根据age分组=>{'18':[{},{}],'19':[{},{}],'20':[{},{}]}

          

这个命令是一个Tcl脚本命令,用于进行物理综合前的设计优化。具体解释如下: - `ungroup -start_level 4 -all`: 将设计中的组合逻辑和时序逻辑分开,此处 `-start_level 4` 表示从第四层开始分组,`-all` 表示分组所有的单元。 - `set_cost_priority -delay`: 设置优化目标为减小时序路径上的延迟。 - `set_critical_range 0.2 $Design`: 设置时序约束的最小保留时间为0.2ns。 - `remove_unconnected_ports [get_cells -hier * ]`: 删除所有没有连接的端口,`[get_cells -hier * ]` 表示获取所有单元。 - `-blast group_path -name in2reg -from [all_inputs] -critical_range 1000.0`: 将所有输入到寄存器的路径组合在一起,命名为 `in2reg`,并设置时序约束为1000.0ns。 - `-blast group_path -name reg2out -to [all_outputs] -critical_range 1000.0`: 将所有从寄存器到输出的路径组合在一起,命名为 `reg2out`,并设置时序约束为1000.0ns。 - `-blast group_path -name in2out -from [all_inputs] -to [all_outputs] -critical_range 1000.0`: 将所有从输入到输出的路径组合在一起,命名为 `in2out`,并设置时序约束为1000.0ns。 - `-blast group_path -name reg2reg -from [all_registers] -to [all_registers] -critical_range 1000.0`: 将所有寄存器之间的路径组合在一起,命名为 `reg2reg`,并设置时序约束为1000.0ns。 这些命令将通过路径组合和时序约束的设置来优化设计,以满足时序要求并提高设计的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值