js循环一个数组 给数组里的每个对象里的字符串每隔20个字符串换行 换行要求用html标签
时间: 2023-08-04 14:18:36 浏览: 182
可以使用 JavaScript 中的 forEach() 方法来遍历数组,然后使用字符串的 match() 方法将字符串每隔20个字符进行分割,最后使用 HTML 的换行标签 `<br>` 添加换行。代码如下:
```javascript
let arr = [
{text: 'abcdefghijklmnopqrstuvwxyz'},
{text: '12345678901234567890'}
];
arr.forEach(item => {
let str = item.text;
let result = str.match(/.{1,20}/g).join('<br>');
console.log(result);
});
```
以上代码会输出以下内容:
```
abcdefghijklmnopqrst<br>uvwxyz
12345678901234567890
```
注意:这里使用了正则表达式来将字符串按照每20个字符分割成一个数组,然后使用 join() 方法将数组元素拼接成一个字符串,并在每个元素之间插入 `<br>` 标签。
相关问题
数组对象转化为字符串
将数组对象转换为字符串在JavaScript中可以使用多种方法,取决于你希望如何展示数组的内容以及元素的类型。以下是几种常见的做法:
1. **JSON.stringify()**:
如果你想保留原样输出,可以使用内置的`JSON.stringify()`函数,它会将JavaScript对象序列化成JSON字符串。
```javascript
let arr = [{name: "John", age: 30}, {name: "Jane", age: 25}];
let jsonString = JSON.stringify(arr);
```
2. **map() + join()**:
可以先用`map()`遍历数组,把每个对象转换为字符串,然后用`join()`连接起来。
```javascript
let arr = [{name: "John", age: 30}, {name: "Jane", age: 25}];
let str = arr.map(item => `${item.name}: ${item.age}`).join(', ');
```
3. **for...of循环**:
也可以手动通过`for...of`循环逐个元素添加到字符串中。
```javascript
let arr = [1, 2, 3];
let str = '';
for(let item of arr) {
str += `${item} `;
}
```
以上方法生成的字符串通常是基于数组的索引顺序。如果需要自定义格式,如逗号分隔或换行等,可以根据实际需求调整。
table的td换行(根据字符串拆分换行)
你可以使用JavaScript中的字符串函数`split()`和`join()`来实现根据字符串拆分换行。
首先,你需要获取到table中的td元素,然后将其内部的文本内容存储到一个变量中,如下所示:
```javascript
var td = document.getElementById('td-id');
var text = td.textContent || td.innerText;
```
接下来,你可以使用`split()`函数将文本内容按照一定的规则拆分成一个数组,这里我们以空格作为拆分的标志符:
```javascript
var textArray = text.split(' ');
```
然后,你可以通过循环遍历数组,将数组中的每个元素拼接起来,并加上换行符,最终生成一个新的字符串:
```javascript
var newText = '';
for (var i = 0; i < textArray.length; i++) {
newText += textArray[i] + ' ';
if ((i + 1) % 5 === 0) {
newText += '<br>';
}
}
```
最后,你可以使用`innerHTML`属性将新的字符串赋值给td元素,从而实现换行的效果:
```javascript
td.innerHTML = newText;
```
这样,当td元素中的文本内容被拆分成多个单词时,每隔5个单词就会自动换行。
阅读全文