javascript中如何将一个数拆分输出拆分下来的数位2的次方。如:输入15输出8+4+2+1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中如何将一个数拆分输出拆分下来的数位2的次方。如:输入15输出8+4+2+1相关的知识,希望对你有一定的参考价值。

我想把这个数转化为二进制,然后在把为1的数转化为十进制,如15二进制1111,为1的转化成十进制最后显示成如8+4+2+1这样

var number = 15;

number = number.toString(2);

number = number.split('');

for (var i = 0, len = number.length; i < len; i += 1) 
    number[i] = Math.pow(2, len - i - 1);


number = number.join('+');

追问

我把要输入的数写在了一个文本框里面,然后输出在p标签里,把你的程序改了一下写进去之后还是错误,请问一下,我哪里写错了

追答function fun(num) 
    var number = parseInt(num, 10);
    ...

然后最后

document.getElementById("p1").innerhtml = number.join('+');

追问

嗯,确实有效。但现在它不论是0是1都显示了,我只要为1的显示,有什么好方法吗

参考技术A $arr = array();
for($i = 1;$i<30;$i++)
$arr['key'.$i] = 'value'.$i;


$arr2 = array_splice($arr, 5 , 10); //从第五个开始,取十个
print_r($arr); //原数组
print_r($arr2); //新数组追问

有点看不懂啊,我现在自学的,能不能写全点啊

如何通过PHP将一列json对象拆分为更多列

【中文标题】如何通过PHP将一列json对象拆分为更多列【英文标题】:How to split a Column of json Object to More Column via PHP 【发布时间】:2020-12-19 08:34:23 【问题描述】:

如何拆分这个 json 对象以发布到数据库名称、爱好、年龄的列


"student1":"john smitch,reading,15",
"student2":"albert North, running,13"

我的数据库名称:新的,表名称:注册,这是我的 php 代码:

 public function index_post()

        //$this->some_model->update_user( ... );
        $data = [
        'name' => $this->post('student1'),
   ];
            $message = ['registration was successful']
            $this->db->insert("registration", $data);
            $this->set_response($message, REST_Controller::HTTP_CREATED); // CREATED (201) being the HTTP response code

【问题讨论】:

【参考方案1】: 将数据设为 PHP 数组或对象 遍历并修剪以逗号分隔的条目 插入行
$json = '
    "student1":"john smitch,reading,15",
    "student2":"albert North, running,13"
';

$sth = $db->prepare('INSERT INTO registration SET name=?, hobby=?, age=?');
foreach(json_decode($json) as $key => $value)
    $sth->execute(array_map(fn($e) => trim($e), explode(',', $value)));

【讨论】:

【参考方案2】:

你可以先解码 JSON

$students = json_decode($json);

然后你可以遍历所有学生

foreach($students as $key => $student)

现在你可以用

分割这个字符串了
$studentAtributes = explode(',', $student);

然后遍历所有属性

foreach($studentAtributes as $attribute)

【讨论】:

以上是关于javascript中如何将一个数拆分输出拆分下来的数位2的次方。如:输入15输出8+4+2+1的主要内容,如果未能解决你的问题,请参考以下文章

Matlab中tabel如何按照日期列拆分

洛谷P1755 斐波那契的拆分

Pandas: 如何将一列中的文本拆分为多行? | Python

oracle中如何将一条记录拆分为多条记录

如何通过PHP将一列json对象拆分为更多列

Pandas Dataframe:如何将一列拆分为多个单热编码列[重复]