小编Far*_*gho的帖子

Javascript:向上和向下舍入到最接近的5,然后找到一个共同点

我正在寻找一种方法来向上和向下到达nearerst 5,然后找到这两个数字的一​​个很大的共同点.我需要它来绘制图表上的y-skale标题.

到目前为止这是我的代码:

function toN5( x ) {
    var i = 1;
    while( x >= 100 ) {
        x/=10; 
        i*=10;
    }
    var remainder = x % 5;
    var distance_to_5 = (5 - remainder) % 5;
    return (x + distance_to_5) * i;
}
Run Code Online (Sandbox Code Playgroud)

目标是这样的:最大值(向上舍入到最接近的5)

1379.8 -> 1500
Run Code Online (Sandbox Code Playgroud)

反之亦然 - 最小值(向下舍入到最接近的5)

41.8 -> 0
Run Code Online (Sandbox Code Playgroud)

然后我想找到一个像250或500这样的共同点

0 - > 250 - > 500 - > 750 - > 1000 - > 1250 - > 1500

要么:

0 -> 500 -> 1000 -> 1500 …
Run Code Online (Sandbox Code Playgroud)

javascript jquery rounding

18
推荐指数
2
解决办法
2万
查看次数

Ionic 2:EXCEPTION:没有NavController的提供者

我的离子2 /角度2应用程序有问题.

我得到了一个应用程序,其中"auth"部分是实现的.

代码如下所示:

 import {Nav, Platform, Modal, ionicBootstrap} from "ionic-angular";
import {NavController} from "ionic-angular/index";
import {StatusBar} from "ionic-native";
import {Component, ViewChild} from "@angular/core";
import {AngularFire, FirebaseListObservable, FIREBASE_PROVIDERS, defaultFirebase} from "angularfire2";
import {HomePage} from "./pages/home/home";
import {AuthPage} from "./pages/auth/home/home";

@Component({
  templateUrl: "build/app.html",
})

class MyApp {
  @ViewChild(Nav) nav: Nav;

  authInfo: any;
  rootPage: any = HomePage;
  pages: Array<{title: string, component: any}>;

  constructor(private platform: Platform, private navCtrl: NavController, private af: AngularFire) {
    this.initializeApp();

    this.pages = [
      { title: "Home", component: HomePage } …
Run Code Online (Sandbox Code Playgroud)

typescript ionic-framework ionic2 ionic3 angular

15
推荐指数
4
解决办法
3万
查看次数

Angular 2:没有HTML标签的NgFor?

我想创建一个没有div标签的ngFor循环.

这有点可能吗?

我的问题是,当我使用div*ng时滑块被破坏了.

<ion-slides #secondSlider [options]="secondSlideOptions" (ionDidChange)="onSecondSlideChanged()">
    <!-- This div should not be there --> 
    <div *ngFor="let set of exercise.sets; let setNumber = index;">
        <ion-slide>
        ...
        </ion-slide>

        <ion-slide>
        ...
        </ion-slide>
    </div>
</ion-slides>
Run Code Online (Sandbox Code Playgroud)

有没有另一种方法可以在没有div容器的情况下使用ngFor?

非常感谢!

ionic-framework ionic2 angular

12
推荐指数
2
解决办法
7159
查看次数

合并具有交替值的两个数组

我想合并2个不同长度的数组:

let array2 = ["a", "b", "c", "d"];
let array2 = [1, 2];

let outcome = ["a",1 ,"b", 2, "c", "d"] 
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法呢?

编辑:我期望的结果是["a", 1 ,"b", 2, "c", "d"]

javascript functional-programming ecmascript-6

10
推荐指数
4
解决办法
3751
查看次数

每天从cron工作中获取3个项目

我有一个每天运行的小型PHP Cron作业,可从API获取文件并将其保存到静态文件。

file_put_contents("api.json", fopen("http://example.com/api", 'r'));
Run Code Online (Sandbox Code Playgroud)

该JSON的内容如下所示:

{ 
  recipes: [
  {
    id: 30476,
    title: "Selfmade Chicken Nuggets",
    ...
  }, 
  {...} ] 
}
Run Code Online (Sandbox Code Playgroud)

我的问题:我想创建“每日食谱”逻辑。

因此,我想每天用食谱创建一个额外的数组。

在最好的情况下,我想要这样的东西:

第1步:创建一个包含所有配方的“剩余配方阵列”

步骤2:每天从剩余的食谱数组中获取3个食谱,并将它们放入某种“当日食谱”数组中

步骤3:如果剩余的食谱阵列为空或没有3个元素,请从食谱中重新填充

我的Javascript客户端中已经有了该逻辑:

let fullRecipeList = await this.appData.getRecipeList();
let recipesOfTheDay = await this.appData.getItem("recipesOfTheDay");
let recipesOfTheDayValidUntil = await this.appData.getItem(
    "recipesOfTheDayValidUntil"
);
let remainingRecipes = await this.appData.getItem("remainingRecipes");

if (!remainingRecipes || remainingRecipes.length < 3) {
    remainingRecipes = this.shuffleArray(fullRecipeList);
}

if (
  recipesOfTheDay &&
  moment(recipesOfTheDayValidUntil).isSame(new Date(), "day")
) {
    this.recipeList = recipesOfTheDay;
} else { …
Run Code Online (Sandbox Code Playgroud)

php cron

6
推荐指数
1
解决办法
267
查看次数

打字稿:等待所有承诺

我的承诺遇到了一个小问题.

这是我的功能:

public generateMealPlanForAWeek(myMealProfile: any, totalCalories:number):Promise<any> {
        return new Promise(resolve => {
            let mealplan:Array<any> = [];
            for (let i = 1; i <= 7; i++) {
                this.generateMealPlanForOneDay(myMealProfile, totalCalories).then(data => {
                    mealplan.push(data); // resolves much later
                });
            }
            resolve(mealplan); // is resolved instant
        })
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是,"generateMealPlanForOneDay"将在之后的膳食计划本身得到解决.

Mealplan是一系列物体(在这种情况下是用餐).

当我想保存我的膳食计划时,膳食计划是空的:

this.storage.set('Mealplan', JSON.stringify(mealplan)).then(....) // meal plan is Array[0]
Run Code Online (Sandbox Code Playgroud)

什么是解决我的膳食计划的所有膳食然后保存它的最佳方法?

javascript typescript angular

3
推荐指数
1
解决办法
2515
查看次数

按2个或更多字符串过滤对象

我有2个对象,一个课程列表和一个用户.

课程列表是一个包含很多课程的数组:

[
  {
    "id": 12345,
    "title": "Some title",
    "type": [
      {
        "id": 4700,
        "slug": "someType",
        "name": "someTypeName"
      }
    ],
    "difficulty": [
      {
        "id": 4704,
        "slug": "4",
        "name": "hard"
      }
    ],..
  },
{...}
Run Code Online (Sandbox Code Playgroud)

用户还有一些字段:

{
  "difficulty": 4, // the difficulty->slug
  "type": "someType"  // the type->slug
}
Run Code Online (Sandbox Code Playgroud)

我的任务:

我想找到课程和用户之间的最佳匹配.

在此示例中,用户正在寻找type.slug == someType和a difficulty.slug == 4.slu is始终是搜索词.

我的第一次尝试是:

courseList.filter((course) => {
    if (course.type.indexOf(that.userData.type) != -1) {
        return course; // dont work
    }
});
Run Code Online (Sandbox Code Playgroud)

编辑:我需要在前端显示nameid属性,"slug"始终是搜索词.

javascript typescript

2
推荐指数
1
解决办法
106
查看次数

保存并恢复日期到 firebase?

我对 firebase 和 Angular 2 有一个小问题。

我尝试将用户保存到 firebase 数据库中。一切正常,但日期未存储。

let now: Date = new Date();
let premiumExpireDate: Date = new Date();
premiumExpireDate.setDate(premiumExpireDate.getDate()+14);

// Insert data on our database using AngularFire.
this.angularfire.database.object('/accounts/' + userId).set({
    name: name, // works well
    dateUpdated: now, // isnt stored
    premiumExpireDate: premiumExpireDate // isnt stored too
}).then(() => {
    ...
});
Run Code Online (Sandbox Code Playgroud)

您知道如何在 Firebase 中保存数据以及如何从 Firebase 恢复数据吗?

多谢!

firebase typescript firebase-realtime-database angular

2
推荐指数
1
解决办法
2157
查看次数

价格字符串分为金额和货币

我需要在 javascript 中分割字符串的帮助。

\n\n

我有一个带有货币的字符串。该字符串取决于位置。

\n\n

例如: “1,99\xe2\x82\xac”或“$1,99”

\n\n

我想拆分字符串并从中提取“金额”和“货币”。

\n\n

如果失败,我想返回一个空字符串或只是 null。

\n\n

有人知道如何解决这个问题吗?

\n

javascript typescript

-1
推荐指数
1
解决办法
5222
查看次数