使用JavaScript修改带有拆分的数组

使用JavaScript修改带有拆分的数组,javascript,Javascript,下面是我的代码: 我正在尝试获取拆分后数组中的第二项,该项始终为3位数字 试着用第一个和第二个第三个字符来分开。 因此,'021'应变为'0','21',并连接到同一数组 var q = {f_seq: "14-021-1721307"}; p = q.f_seq.split('-'); p[1] = p[1].substr(0, 1); p[2] = p[2].substr(1, 2); console.log(p); 电流输出: ['14', '0', '72']

下面是我的代码: 我正在尝试获取拆分后数组中的第二项,该项始终为3位数字 试着用第一个和第二个第三个字符来分开。 因此,'021'应变为'0','21',并连接到同一数组

var q = {f_seq: "14-021-1721307"};
p = q.f_seq.split('-');
p[1] = p[1].substr(0, 1);
p[2] = p[2].substr(1, 2);
console.log(p); 
电流输出:

['14', '0', '72']
预期产出:

['14', '0', '21', '1721307']
var q={f_seq:14-021-1721307}; p=q.f_顺序拆分'-'; //p[1]=p[1]。子序列0,1; //p[2]=p[2]。substr1,2; console.logp; //=>['14','021','1721307'] var q={f_seq:14-021-1721307}; p=q.f_顺序拆分'-'; //p[1]=p[1]。子序列0,1; //p[2]=p[2]。substr1,2; console.logp; //=>['14','021','1721307']不要在分割原始字符串后对p进行变异,而是创建一个新数组来保存输出。这将更容易理解正在发生的事情

var q={f_seq:14-021-1721307}; p=q.f_顺序拆分'-'; let out=[p[0],p[1][0],p[1]。substr1,2,p[2]; 控制台。注销 不要在分割原始字符串后改变p,而是创建一个新数组来保存输出。这将更容易理解正在发生的事情

var q={f_seq:14-021-1721307}; p=q.f_顺序拆分'-'; let out=[p[0],p[1][0],p[1]。substr1,2,p[2];
控制台。注销 随机使用较新的阵列功能,因为我总是忘记它们:

const str='14-021-1721307' 常量拆分=str.split'-'.flatMap s、 i=>i==1?[s[0],s.substr1]:s
console.logsplit随机使用较新的阵列功能,因为我总是忘记它们在那里:

const str='14-021-1721307' 常量拆分=str.split'-'.flatMap s、 i=>i==1?[s[0],s.substr1]:s console.logsplit您可以使用拼接方法,该方法完全符合您的要求:

let q = {f_seq: "14-021-1721307"};
let p = q.f_seq.split('-');
p.splice(1,1,p[1][0],p[1].slice(1))
console.log(p)
您可以使用拼接方法,该方法的剂量完全符合您的要求:

let q = {f_seq: "14-021-1721307"};
let p = q.f_seq.split('-');
p.splice(1,1,p[1][0],p[1].slice(1))
console.log(p)