JavaScript带示例的typedArray.from()用法

2021年5月5日13:44:57 发表评论 122 次浏览

typedArray.from()是JavaScript中的内置函数, 用于从常规数组或任何可迭代对象构造新的typedArray。

下面列出了不同typedArray的列表-

  • Int8Array();
  • Uint8Array();
  • Uint8ClampedArray();
  • Int16Array();
  • Uint16Array();
  • Int32Array();
  • Uint32Array();
  • Float32Array();
  • Float64Array();

语法如下:

typedArray.from(source, mapFn, thisArg)

参数:它接受以下指定的三个参数:

  • source:它是一个普通数组或任何可迭代对象, 可以转换为typedArray。
  • mapFn:它是可选的, 并且是对typedArray的每个元素进行调用的map函数。
  • thisArg:它是可选的, 是执行mapFn函数时要使用的值。

返回值:

它返回一个新的typedArray实例。

JavaScript代码显示此功能的工作方式:

代码1:

<script>
  
     //Constructing an iterable object
     var a = new Set([ 5, 10, 15, 20, 25 ]);
     var b = new Set([ 1, 2, 3, 4, 5 ]);
     var c = new Set([ 1, 3, 5, 7, 9 ]);
     var d = new Set([ 2, 4, 6, 8, 10 ]);
  
     //Calling from() function
     A = Uint8Array.from(a);
     B = Uint8Array.from(b);
     C = Uint8Array.from(c);
     D = Uint8Array.from(d);
  
    //Printing new typedArray instance
     document.write(A + "<br>" );
     document.write(B + "<br>" );
     document.write(C + "<br>" );
     document.write(D);
  
</script>

输出如下:

5, 10, 15, 20, 25
1, 2, 3, 4, 5
1, 3, 5, 7, 9
2, 4, 6, 8, 10

代码2:

<script>
  
     //Calling from() function
     A = Uint16Array.from( '123456' );
     B = Uint16Array.from( '80397418327' );
  
     //Printing new typedArray instance
     document.write(A + "<br>" );
     document.write(B + "<br>" );
  
</script>

输出如下:

1, 2, 3, 4, 5, 6
8, 0, 3, 9, 7, 4, 1, 8, 3, 2, 7

代码3:

<script>
  
     //Constructing an iterable object
     var a = new Set([ 5, 10, 15, 20, 25 ]);
     var b = new Set([ 1, 2, 3, 4, 5 ]);
     var c = new Set([ 1, 3, 5, 7, 9 ]);
     var d = new Set([ 2, 4, 6, 8, 10 ]);
  
     //Calling from() function
     A = Uint8Array.from(a, x => x + 1);
     B = Uint8Array.from(b, x => x + 2);
     C = Uint8Array.from(c, x => x * 2);  
     D = Uint8Array.from(d);
  
     //Printing new typedArray instance
    document.write(A + "<br>" );
    document.write(B + "<br>" );
    document.write(C + "<br>" );
    document.write(D);
  
</script>

输出如下:

6, 11, 16, 21, 26
3, 4, 5, 6, 7
2, 6, 10, 14, 18
2, 4, 6, 8, 10

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: