js将[[1,2,3],[1,2,3],[1,2,3]],将非对角线上的数全变为0
时间: 2024-06-02 11:03:12 浏览: 9
可以使用双重循环遍历数组,当行数不等于列数时将元素赋值为0。代码如下:
```javascript
let arr = [[1,2,3],[1,2,3],[1,2,3]];
for(let i=0; i<arr.length; i++){
for(let j=0; j<arr[i].length; j++){
if(i !== j){
arr[i][j] = 0;
}
}
}
console.log(arr); // [[1, 0, 0], [0, 2, 0], [0, 0, 3]]
```
相关问题
javascript[1,2,3,4]转成数组
我理解您的问题是将字符串 `"javascript[1,2,3,4]"` 转换为数组 `[1, 2, 3, 4]`。可以使用 `JSON.parse()` 方法将包含有效 JSON 数据的字符串转换为 JavaScript 对象。在这种情况下,我们可以使用正则表达式将字符串中的非数字字符去掉,然后再使用 `JSON.parse()` 方法将其转换为数组。
以下是实现此操作的代码示例:
```javascript
const str = "javascript[1,2,3,4]";
const arr = JSON.parse("[" + str.replace(/\D+/g, ",") + "]");
console.log(arr); // 输出 [1, 2, 3, 4]
```
在这个例子中,我们首先使用正则表达式 `/\\D+/g` 将字符串中的非数字字符替换为逗号 `,`。然后我们将字符串包裹在方括号中,并使用 `JSON.parse()` 方法将其转换为数组。最后,我们将数组存储在变量 `arr` 中,并将其打印到控制台。
js把 ["1", "2", "3"]里面字符串转换成数字类型
可以使用`map()`方法和`parseInt()`函数将数组中的字符串转换为数字类型:
```javascript
const arr = ["1", "2", "3"];
const newArr = arr.map(num => parseInt(num)); // [1, 2, 3]
```
在`map()`方法中,我们使用`parseInt()`函数将每个字符串转换为数字类型。如果字符串中包含非数字字符,则`parseInt()`函数会返回NaN。如果数组中的字符串都是纯数字,那么这个方法将完美地将其转换为数字类型。