【发布时间】:2020-07-01 00:42:54
【问题描述】:
我正在尝试找出一种方法来获取字符串并根据传入的新字符串更新值。字符串表示表的结构并包含列名和列数据类型。
为此,我尝试将原始字符串和新字符串转换为数组。然后我需要合并结果,但使用新数据类型更新现有列。
例如,在下面的示例中,我想返回 4 列,其中 col2 从 varchar(30 更新为 varchar(20)。
var original_schema = 'col1 int,col2 varchar(30),col3 datetime2,col5 bit';
var new_schema = 'col1 int,col2 varchar(20),col3 datetime2,col4 int';
var arr_original_schema = original_schema.replace(/ /g,':').split(",");
var arr_new_schema = new_schema.replace(/ /g,':').split(",");
console.log(arr_original_schema);
console.log(arr_new_schema);
function arrayUnique(array) {
var a = array.concat();
for(var i=0; i<a.length; ++i) {
for(var j=i+1; j<a.length; ++j) {
//removed
if(a[i] === a[j])
a.splice(j--, 1);
}
}
return a;
}
var uniqueschema = arrayUnique(arr_original_schema.concat(arr_new_schema));
console.log(uniqueschema)
预期结果是: col1 int,col2 varchar(20),col3 datetime2,col4 int,col5 位"
【问题讨论】:
-
请添加最终预期结果示例
-
谢谢,我添加了我的预期结果。
标签: javascript arrays object