javascript - 在JS中拆分字符串并更改值
问题描述
我需要帮助来解决这个似乎比我预期的更复杂的问题......
我有一个看起来像这样的数组:
[[G113428, 03-35, ], [G114696, 04-17, ], [, , ], [G298962, 05-19, ], [G117633, , ], [G117648, , ], [G119907, 04-40, 03-49], [G119912, 04-38, 03-47], [G119927, 04-41, 03-50], [, , ], [G246909, 05-23, ], [G250157, 04-51, ], [G250249, 05-3, ], [G298982, 04-66, ], [G293310, 04-7, ], [G298997, , ], [G297871, 05-9, ], [G297886, 05-39, ], [G297891, 04-60, ], [G297918, 04-61, ], [G297923, 05-1, ], [G297938, 05-2, ], [G297943, 04-48, ], [G297963, 04-52, ], [G297978, 03-59, ], [G297983, 03-60, ], [G201069, 04-6, ], [G201094, 04-5, 04-5], [G201126, 04-4, ], [G201203, 05-5, ], [G299008, 04-24, ], [G206967, 04-22, ]]
每个数组有 3 个元素,在某些情况下,也有空元素。我需要更改每个数组的第二个和第三个元素。
例如,正如您在上面几个数组的第二个位置的数组中看到的那样,我们有这样的:04-17, 04-66, 04-61, 04-6...
我要做的就是根据第二个值更改这些值。所以它应该是这样的:
04-6
➔04-1
04-17
➔04-2
04-61
➔04-3
04-66
➔04-4
不知道如何解决....我尝试先拆分第二个和第三个元素,但效果不佳...到目前为止,这是我的代码,但我认为不会对你有用,因为它返回原始数组。
function myFunction() {
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName("Sheet1");
var range = sheet.getRange(2,11,sheet.getLastRow(),3);
var values = range.getValues();
//Logger.log(values)
function splitV(arr){
var nowa = [];
for(var i = 0; i < arr.length; i++){
arr[i][1].split("-")
}
return arr;
}
const splited = splitV(values)
Logger.log(splited)
}
如果有人可以帮助我,我将不胜感激。
解决方案
如果这是你需要的,我想知道,但我想出了那个解决方案:
arr = [["a", "04-12", "04-4"], ["b", "04-3", "02-5"], ["c", null, "02-3"], ["d", null, null]]
max = {}
const newArr = arr.map(group => group.map((v, i) => {
if(i > 0) {
let val = v ? v.split("-")[0] + "-" : ""
let index = max[val] ?? 1
max[val] = index + 1
return val + index
}
return v
}))
console.log(newArr)
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- c++ - 如何使用 WINAPI 读取整个二进制文件?
- java - 当单击时无法打开 .jar 文件并且无法通过 cmd 运行它时,如何运行它?
- node.js - AWS Lambda 函数与 nodejs 到 ssh 到 ec2 并运行命令,在测试中给出 200 成功但什么也不做
- autoregressive-models - 采用 lavaan 表示法的 ARMA 模型
- ionic-framework - Ionic v4:“Ionic cordova run -l”不会启动我的应用程序
- javascript - 过滤 JSON 数据并附加到 div
- reactjs - ReactNative Webview
- excel - 为什么会出现 vbscript 编译错误
- python-3.x - 使用 scrapy 发布请求/表单提交导致错误 404
- java - 如何读取客户端表单枚举中的属性