我有一个数组,想要竖向打印每个元素。 例如:
myArr = ['abc', 'def','ghi'];
输出应为:
a d g
b e h
c f i
我已经使用两个for循环在php中完成了这个任务,但是在JS中遇到麻烦。 有什么建议吗?
我有一个数组,想要竖向打印每个元素。 例如:
myArr = ['abc', 'def','ghi'];
输出应为:
a d g
b e h
c f i
我已经使用两个for循环在php中完成了这个任务,但是在JS中遇到麻烦。 有什么建议吗?
const myArr = ['abc', 'def','ghi'];
const r = myArr.map((elem, i) => elem.split('').map((_, a) => myArr[a][i]).join(' ')).join('\n');
console.log(r);
Array.from
,它接受一个可迭代对象,在这种情况下将字符串拆分为单个字符,并使得可以使用映射函数进行进一步处理,这在此处是必要的以转置字符串。
var array = ['abc', 'def','ghi'],
result = array
.reduce((r, s, j) => Array.from(s, (c, i) => (r[i] || '') + c), [])
.join('\n');
console.log(result);
我想出了像那样的东西:
myArr = ['abc', 'def','ghi'];
myArr.forEach((element)=>{
console.log(element);
})
你可以将它们作为单独的元素(如 ["a","b","c","d"...])存储在数组中,然后转置结果数组。
const ary = ['abc', 'def','ghi'];
for (i = 0; i < ary.length; i++) {
const x = ary.map((ary) => ary[i]).join('')
console.log(x)
}
你可以这样做
let myArr = ['abc', 'def','ghi'];
let op = new Array(myArr.length).fill('')
for(let i=0;i<myArr.length;i++){
for(let j=0;j<myArr[i].length;j++){
op[j] += myArr[i][j]+' ';
}
}
let finalOp = op.reduce((op,cur)=>{
return op+=cur+`\n`;
},'')
console.log(finalOp);
检查一下这个JS函数,它可以帮助你,你需要拆分数组元素中的每个单词:
function printArraySplitedLines(collection){
collection.forEach(function(elementCollection) {
let line = "";
elementCollection.split('').forEach(function(item) {
line += `${item} `;
})
console.log(line);
});
}
printArraySplitedLines(myArr);
// a b c
// d e f
// g h i