Ngh*_*han 13 javascript arrays
当在子数组中获取项目并通过javascript返回主数组时,我遇到了问题。我有这样的数组:
var array_demo = [
['1st', '1595', '8886'],
['2nd', '1112']
]
Run Code Online (Sandbox Code Playgroud)
我想得到这样的结果:
['1595','8886','1112']
但是当我使用此代码时:
array_demo.map(function(i) {
return i.slice(1).join();
});
Run Code Online (Sandbox Code Playgroud)
结果: ['1595,8886', '1112']
有人能帮我吗 ?
Nin*_*olz 13
您可以对数组进行解构,并在不包含第一个元素的情况下取出其余部分,并使用展平此数组Array.flatMap
。
var array = [['1st', '1595', '8886'], ['2nd', '1112']],
result = array.flatMap(([_, ...a]) => a);
console.log(result);
Run Code Online (Sandbox Code Playgroud)
或者Array.slice()
也可以。
var array = [['1st', '1595', '8886'], ['2nd', '1112']],
result = array.flatMap(a => a.slice(1));
console.log(result);
Run Code Online (Sandbox Code Playgroud)
而不是join()
用于Array.prototype.flat()
的返回结果map()
:
var array_demo = [
['1st', '1595', '8886'],
['2nd', '1112']
]
array_demo = array_demo.map(function(i) {
return i.slice(1);
}).flat();
console.log(array_demo);
Run Code Online (Sandbox Code Playgroud)
在一个使用Arrow函数(=>)的衬里中:
var array_demo = [
['1st', '1595', '8886'],
['2nd', '1112']
]
array_demo = array_demo.map(i => i.slice(1)).flat();
console.log(array_demo);
Run Code Online (Sandbox Code Playgroud)