我希望创建一个javascript函数,它通过数组乘法输出字符串。
数组的第一个数字将乘以第二个数字,产生如下字符串。
对于前。当:
console.log(repeatNumbers([[1, 10]]));
console.log(repeatNumbers([[1, 2], [2, 3]]));
结果将是:
1111111111
11, 222
我正在努力克服简单的乘法输出,例如1 * 10 = 10,并产生一个完整的字符串(不带逗号)。
任何建议都会很棒 - 谢谢。
答案 0 :(得分:3)
实际上你可以使用map
array
覆盖repeat
,然后应用string
的{{1}}函数(你必须从number
解析到string
repeatNumbers = (array) => array.map(item => item[0].toString().repeat(item[1]));
console.log(repeatNumbers([
[1, 10]
]));
console.log(repeatNumbers([
[1, 2],
[2, 3]
]));
)。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".UploadImage">
<LinearLayout
android:id="@+id/layout_button"
android:orientation="horizontal"
android:layout_alignParentTop="true"
android:weightSum="2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btnChoose"
android:text="Choose"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btnUpload"
android:text="Upload"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</LinearLayout>
<ImageView
android:id="@+id/imgView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.constraint.ConstraintLayout>
答案 1 :(得分:1)
您可以使用数组构造函数来创建给定长度的数组。然后使用.fill
数组方法用正确的东西填充新数组。最后,您可以使用join
将填充的数组转换回字符串。在您的情况下,对于每一对,第一个元素是用数据填充的元素,第二个元素是所需的长度。
对传递的数组中的每个项目执行该过程(使用map
),并使用逗号连接它们,然后从示例中获得结果:
function repeatNumbers(arr) {
return arr
.map(pair => Array(pair[1]).fill(String(pair[0])).join(""))
.join(", ");
}
console.log(repeatNumbers([[1, 10]]));
console.log(repeatNumbers([[1, 2], [2, 3]]));
&#13;