如何从数组各元素提取name与rate并转换为对象数组?
解决方案:提取指定字段并转换为对象数组
针对你给出的字符串数组,我们可以通过拆分字符串+遍历处理的方式快速提取目标字段,以下是具体实现(以JavaScript为例):
实现思路
每个字符串元素是用制表符(\t)分隔的多段内容:
name对应第一段内容的前半部分(比如BTCUSDT Perpetual里的BTCUSDT)rate对应第五段内容(拆分后数组的第4个索引项)
代码示例
const originalArray = [ 'BTCUSDT Perpetual\t8h\t05:14:44\t0.0100%\t0.01%\t0.3000% / -0.3000%\t0.3000% / -0.3000%', 'ETHUSDT Perpetual\t8h\t05:14:44\t0.0100%\t0.01%\t0.3750% / -0.3750%\t0.3750% / -0.3750%', 'BCHUSDT Perpetual\t8h\t05:14:44\t-0.0135%\t0.01%\t0.3750% / -0.3750%\t0.3750% / -0.3750%' ]; const resultArray = originalArray.map(item => { const parts = item.split('\t'); // 提取name:拆分第一段内容,取空格前的部分 const name = parts[0].split(' ')[0]; // 提取rate:直接取第五个分段(索引4) const rate = parts[4]; return { name, rate }; }); console.log(resultArray);
输出结果
执行后会得到符合要求的对象数组(注意:实际JavaScript中字符串类型的属性值需要加引号,这是语法规范):
[ {"name":"BTCUSDT", "rate":"0.01%"}, {"name":"ETHUSDT","rate":"0.01%"}, {"name":"BCHUSDT","rate":"0.01%"} ]
拓展说明
如果你的场景是其他编程语言(比如Python),逻辑是一致的:
- Python版本示例:
original_array = [ 'BTCUSDT Perpetual\t8h\t05:14:44\t0.0100%\t0.01%\t0.3000% / -0.3000%\t0.3000% / -0.3000%', 'ETHUSDT Perpetual\t8h\t05:14:44\t0.0100%\t0.01%\t0.3750% / -0.3750%\t0.3750% / -0.3750%', 'BCHUSDT Perpetual\t8h\t05:14:44\t-0.0135%\t0.01%\t0.3750% / -0.3750%\t0.3750% / -0.3750%' ] result_array = [] for item in original_array: parts = item.split('\t') name = parts[0].split(' ')[0] rate = parts[4] result_array.append({"name": name, "rate": rate}) print(result_array)
内容的提问来源于stack exchange,提问作者attarrot
相关产品推荐
相关产品推荐

