【发布时间】:2022-10-22 18:10:02
【问题描述】:
当函数是数字时,我不能拆分一堆数字 - 为什么?你怎么做到这一点?
我正在尝试https://leetcode.com/problems/number-of-1-bits/
Ways to split a Number into an Array
接受的答案:
好吧,让我们看看它是如何工作的
数字 + ''.split('')像
num是一个数字''.split('')是空数组,不是数字- 所以,我们有一个数字的总和而不是一个数字,我们将转换 num 和 [] 串起来
num到字符串是'969',[]到字符串是''(空)- '969' + '' = '969'
num.toString() + ''.split('')像
num.toString()是一个字符串- ''.split('') 为空数组
- 所以,我们有一个字符串的总和而不是一个字符串,我们将
[]转换为 细绳[]to string is '' (empty)- '969' + '' = '969'
String(num).split('')像
- 让
num转换为字符串- 并用''分割它
- 拆分结果为数组 ['9', '6', '9']
当然,当我尝试时......它不起作用:
var hammingWeight = function(n) { let oneBits = String(n).split(''); console.log(oneBits) }; hammingWeight(0000011110)这里发生了什么?为什么它不起作用?
function hammingWeight(n) { let oneBits = String(n).split(''); console.log(oneBits) }; hammingWeight(0000011110)为什么这不起作用?
function hammingWeight(n) { let oneBits = n.toString().split(''); console.log(oneBits) }; hammingWeight(0000011110)我很困惑——这些数字是从哪里来的?
Binary to String in JavaScript
function hammingWeight(n) { const oneBits = String.fromCharCode( ...n.split('')) ) console.log(oneBits) }; hammingWeight(0000011110)也不行!
【问题讨论】:
标签: javascript arrays